android中的媒体播放器播放存储在模拟器sdcard中的音频
Posted
技术标签:
【中文标题】android中的媒体播放器播放存储在模拟器sdcard中的音频【英文标题】:Media player in android to play audio stored in emulator sdcard 【发布时间】:2018-08-25 03:02:04 【问题描述】:我正在尝试播放存储在模拟器 sdcard 中的音乐,但无法播放音乐,下面是我的代码,请告诉我这段代码有什么问题。 我收到以下错误:
原因:javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。
谢谢,
play_btn.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
Log.d(TAG,"Onclick");
mediaPlayer=new MediaPlayer();
String media_path= "sdcard/sample_music.mp3";
mediaPlayer.setAudiostreamType(AudioManager.STREAM_MUSIC);
Uri uri= Uri.parse(media_path);
Log.d(TAG,"Player initiated");
try
mediaPlayer.setDataSource(getApplicationContext(), uri);
mediaPlayer.prepare();
mediaPlayer.start();
Toast.makeText(getApplicationContext(), "Playback started", Toast.LENGTH_LONG).show();
play_btn.setEnabled(false);
catch (IOException e)
e.printStackTrace();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
@Override
public void onCompletion(MediaPlayer mediaPlayer)
play_btn.setEnabled(true);
mediaPlayer.release();
mediaPlayer = null;
Toast.makeText(getApplicationContext(), "Playback finished", Toast.LENGTH_LONG).show();
);
);
【问题讨论】:
设置media_path=Environment.getExternalStorageDirectory().getAbsolutePath()+"/sample_music.mp3"
@ak sacha,我试过了,它也没有播放,并且还检查了歌曲是否正确存储在 sdcard 中。
我收到错误,原因如下:javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: 找不到证书路径的信任锚。
【参考方案1】:
Uri 看起来无效。
有效的 Uri 有一个前缀,例如“content://”“file://”
My app 自用可能会对您有所帮助。很简单,只有2个类。
【讨论】:
以上是关于android中的媒体播放器播放存储在模拟器sdcard中的音频的主要内容,如果未能解决你的问题,请参考以下文章
科尔多瓦应用程序为啥我可以在 ios 上播放我的媒体但在 android 上失败?
Android MediaPlayer - 如何在 STREAM_ALARM 中播放?