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 中播放?

android-读取MediaProvider

如何模拟Android模拟器上的硬件媒体控制按钮

Android Studio 音乐播放器无法从 sdcard 读取,只能读取内存

android studio模拟器无法播放视频