我的数据库有很多格式为base64的短音频。我想在按钮点击时播放音频。基本上,我写了这段代码,但它不起作用。 (如果可能的话,该文件最好不写入存储,因为这个过程有一个延迟)通过解码Base64播放音频
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
String url = "data:audio/mp3;base64,"+base64FormattedString;
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();
}
catch(Exception e){
e.printStackTrace();
}
}
});
而且堆栈跟踪是在这里:https://gist.github.com/AliAtes/aa46261aba3d755fbbd1eba300356a5f
是什么'“数据:音频/ MP3; BASE64,“'? – pskink
它是base64字符串的音频/ mp3文件的前缀。 base64FormattedString通常没有它。 – ATES
我的意思是它不是'MediaPlayer'视图的有效数据源 - '“路径\t字符串:文件的路径或要播放的流的http/rtsp URL” – pskink