【发布时间】:2020-10-17 10:07:19
【问题描述】:
我正在尝试使用 Media Player 从 URL 播放音乐,但播放时出错
final MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(url[0]);
mp.prepare();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
} catch(Exception e){
System.out.println(e);
}
我也尝试过使用 URI
Uri uri = Uri.parse(url[0]);
mp.setDataSource(context,uri);
mp.prepare();
还尝试使用 mp.prepareAsync();方法
但随后也会出现此类错误并且媒体无法播放
W/MediaPlayer: Couldn't open
java.io.FileNotFoundException: No content provider:
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1675)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1505)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1422)
at android.media.MediaPlayer.attemptDataSource(MediaPlayer.java:1101)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1073)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1001)
at com.tuwy.Dailog.DialogClass.showAudioDialog(DialogClass.java:272)
也得到这个
W/AudioTrack: Use of stream types is deprecated for operations other than volume control
See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case
V/AudioTrack: pause(2131): prior state:STATE_ACTIVE
I/System.out: java.io.FileNotFoundException: : open failed: ENOENT (No such file or directory)
【问题讨论】:
-
mp.setDataSource(url[0]);你知道 url[0] 的值是什么吗?我们没有。我们不知道您尝试什么。
标签: android url uri android-mediaplayer