Android Media Player无法在Android 8上播放SD卡中的声音

时间:2019-01-16 19:41:08

标签: android android-mediaplayer

我很久以前开发了一个应用程序,最近一些用户抱怨他们无法播放SD卡中的声音。

我的应用具有以下许可权

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

以下是播放声音的代码。用户通过使用选择声音 铃声首选项。所以我认为声音uri正确传递了。同样适用于内置声音。

    try {
        final OnPreparedListener OnPreparedListener = new OnPreparedListener() {

            @Override
            public void onPrepared(final MediaPlayer mp) {
                Log.d(TAG, "OnPreparedListener prepared. Actually playing music now");
                mp.start();
            }
        };
        golbalMMediaPlayer.setAudioStreamType(stream);
        golbalMMediaPlayer.setDataSource(context.getApplicationContext(), uri);
        golbalMMediaPlayer.setLooping(false);
        golbalMMediaPlayer.setOnPreparedListener(OnPreparedListener);
        golbalMMediaPlayer.setOnCompletionListener(new OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer mp) {
                Log.d(TAG, "Done playing music now");
                try {
                    resetVolume();
                    stopPlaying();
                } catch (Exception ex) {
                    Log.e(Constants.APP_TAG,
                            "error on oncompletion listener", ex);
                }
            }

        });
        golbalMMediaPlayer.prepareAsync();
        golbalMMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
                Log.e(Constants.APP_TAG,"Media player erorr");
                return false;
            }
        });
    } catch (Exception e) {
        Log.e(TAG, "problem while playing sound", e);
    } finally {

    }

我很难调试,因为它在我的设备上可以正常工作。银河9是能够完成这一工作的设备之一。

任何指针都会有所帮助。

0 个答案:

没有答案