场景:我的.apk中有加密的mp3文件.需要解密并发送到MediaPlayer对象.
问题:在我读取文件并解密后,如何让MediaPlayer播放它们?
现在.MediaPlayer有4个版本的setDataSource().
setDataSource(String path)
setDataSource(FileDescriptor fd)
setDataSource(FileDescriptor fd, long offset, long length)
setDataSource(Context context, Uri uri)
Run Code Online (Sandbox Code Playgroud)
这些都不是理想的情况.猜猜理想是给MediaPlayer一个InputStream吗?
可能的解决方案:
有没有人有更好的解决方案?
小智 2
byte[] callData = ...;
String base64EncodedString = Base64.encodeToString(callData, Base64.DEFAULT);
try
{
String url = "data:audio/amr;base64,"+base64EncodedString;
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();
}
catch(Exception ex){
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3034 次 |
| 最近记录: |