0
これまでに試したこと: -Base64でエンコードされたオーディオをAndroidで再生する方法は?
- オーディオファイルのBase64でエンコードされた文字列を持っています。
ここで私はこのようにプレイしようとしています。
public void PlayAudio(String base64EncodedString){
try
{
String url = "data:audio/mp3;base64,"+base64EncodedString;
Uri uri = Uri.parse(url);
mediaPlayer.setDataSource(MainActivity.this, uri);
/*mediaPlayer.prepare();*/
mediaPlayer.start();
}
catch(Exception ex){
System.out.print(ex.getMessage());
}
}
と
private void playMp3(byte[] mp3SoundByteArray) {
try {
// create temp file that will hold byte array
File tempMp3 = File.createTempFile("kurchina", "mp3", getCacheDir());
tempMp3.deleteOnExit();
FileOutputStream fos = new FileOutputStream(tempMp3);
fos.write(mp3SoundByteArray);
fos.close();
// resetting mediaplayer instance to evade problems
mediaPlayer.reset();
// In case you run into issues with threading consider new instance like:
// MediaPlayer mediaPlayer = new MediaPlayer();
// Tried passing path directly, but kept getting
// "Prepare failed.: status=0x1"
// so using file descriptor instead
FileInputStream fis = new FileInputStream(tempMp3);
mediaPlayer.setDataSource(fis.getFD());
//mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException ex) {
String s = ex.toString();
ex.printStackTrace();
}
}
しかし、音声が再生されていません。
いずれにしても私を助けてくれるかもしれません。
ありがとうございます。一度それをチェックさせてください。あなたに戻ってきます。 – AndroidHacker
動作しません...私はWeb上でオーディオファイルをエンコードしているので、何らかのエンコードの問題がありますか? – AndroidHacker
それは可能です!それを確認して、標準のエンコード方法を検索するだけで済みます。 – Jordan