我正在做我的第一個應用程序:我想放一個按鈕以便將.mp3設置爲鈴聲,everythig可以正常工作,Logcat日食doens't不顯示任何類型的錯誤,但是當我撥打電話(在模擬器和真正的手機),它聽起來不對!另外,當我去「音樂」應用程序,並嘗試播放這些鈴聲(我發現他們在「最近添加」)它顯示這個:「對不起,播放器不支持類型的音頻文件」。Android:設置鈴聲,everythig可以,但不會發出聲音,但無法播放
我在做什麼錯了?
這裏是我的代碼:
setringtone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast msg = Toast.makeText(TonosSet.this, "Sound set as ringtone!", Toast.LENGTH_LONG);
msg.show();
File k = new File("/sdcard/media/ringtone", "song_file.mp3");
Uri mUri = Uri.parse("android.resource://com.app/"+R.raw.song_file);
ContentResolver mCr = getContentResolver();
AssetFileDescriptor soundFile;
try {
soundFile= mCr.openAssetFileDescriptor(mUri, "r");
} catch (FileNotFoundException e) {
soundFile=null;
}
try {
InputStream ins = TonosSet.this .getResources().openRawResource (R.raw.song_file);
byte[] buffer = new byte[ins.available()];
ins.read(buffer);
ins.close();
String filename = Environment.getExternalStorageDirectory().toString()+File.separator+R.raw.song_file;
FileOutputStream fos = new FileOutputStream(filename);
fos.write(buffer);
fos.close();
} catch (IOException io) {
}
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "Name sound");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Artist");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + k.getAbsolutePath() + "\"", null);
Uri newUri = getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
TonosSet.this,
RingtoneManager.TYPE_NOTIFICATION,
newUri);
}
});
請幫助我,我不知道該怎麼辦,我一直在尋找約5小時的解決方案是什麼,但我不能=(
「當我去‘音樂’應用程序的d嘗試播放這些鈴聲(我在「最近添加」中找到它們),它表明:「對不起,播放器不支持類型的音頻文件」。「也許你應該嘗試另一個音樂文件?您確定您嘗試閱讀的格式符合系統嗎?如果你不能使用音樂播放器閱讀它,你的代碼似乎不正常。在網上挑選一個隨機的mp3,然後使用它。 –
我會嘗試,也許如果我chage我的.mp3文件的比特率,它可以工作。 – Jacobo
那麼,我的應用程序也有一個「播放」按鈕,當我正常按下.mp3文件聲音時,這就是爲什麼我不認爲我的.mp3文件被損壞或類似的東西。我不知道該怎麼辦=( – Jacobo