【问题标题】:Sounds doesn't play on Nexus 5 Android 5.0 (lollipop)声音无法在 Nexus 5 Android 5.0(棒棒糖)上播放
【发布时间】:2015-01-02 01:02:54
【问题描述】:

在我的应用程序中,我有以下代码:

       try {
            AssetFileDescriptor afd = context.getAssets().openFd(SOUNDS + filePath + MP3);
            MediaPlayer mediaPlayer = new MediaPlayer();
            if (useMediaVolume) {
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            } else {
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
            }
            mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
            mediaPlayer.setOnPreparedListener(prepareListener);
            mediaPlayer.prepareAsync();
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (SecurityException ex) {
            MonitorDataHelper.logException(ex);
            ex.printStackTrace();
        }

private MediaPlayer.OnPreparedListener prepareListener = new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.setOnCompletionListener(completionListener);
        mediaPlayer.start();
    }
};

private MediaPlayer.OnCompletionListener completionListener = new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mediaPlayer) {
        mediaPlayer.stop();
        mediaPlayer.release();
    }
};

它在 pre-5.0 甚至 Nexus 7 Android 5.0 上都可以工作,但根据用户报告,它在 Nexus 5 上不工作。

声音文件很小 - 国际象棋游戏的移动声音。 Windows 显示它们的长度,如 00:00:00,但它们播放得很好。 VBR 约为 100kbs:

在第一次报告之前,我开始玩 w/o asyncPrepare,它在棒棒糖之前运行,但即使在 Nexus 7 上也不能在棒棒糖上运行。现在它可以在我的 Nexus 7(5.0.2) 上运行,但根据用户不在 Nexus 5 上。

有什么想法可以尝试吗?提前致谢。

【问题讨论】:

    标签: android audio android-5.0-lollipop


    【解决方案1】:

    终于找到问题的原因了:长度小于300ms的声音文件在Android 5.0中无法在某些设备上播放(Genymotion Nexus 5/6 veryfied)。因此解决方案是通过向文件本身添加静音来创建更长的文件。

    【讨论】:

      猜你喜欢
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多