相关疑难解决方法(0)

控制MediaPlayer中的音量

我正在有声读物中播放音频(旁白).音频文件采用.ogg格式,每个长度介于10到15秒之间.

编辑添加:我使用的是Android 2.2,API 8,我在我的Manifest中有这个:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)

我有setVolumeControlStream(AudioManager.STREAM_MUSIC); 在我的onCreate()方法中.

我的声音通过类似于此的代码播放:

mp = MediaPlayer.create(mContext, resource);
mp.setOnCompletionListener(this);
mp.seekTo(0);
mp.setLooping(looping);
if(isSoundEnabled())
{
    mp.setVolume(1, 1);
}
else
{
    // I still need sounds to call their onComplete listeners to drive action
    mp.setVolume(0,0);
}
nowPlaying = true;
mp.start();
Run Code Online (Sandbox Code Playgroud)

但是,尽管有更多的保证(33并且计数!),但是只需要setVolumeControlStream(AudioManager.STREAM_MUSIC); 在onCreate()中,当我按下设备上的音量键(Motorola Xoom)时,我的声音音量不会改变.

为了验证我的音量键正在做什么,我覆盖了onKeyDown:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    boolean result = true;
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP)
    {
        DebugLog.d(TAG, "volume up");
    }
    else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
    { …
Run Code Online (Sandbox Code Playgroud)

android volume media-player

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

media-player ×1

volume ×1