contrôle du volume du lecteur multimédia

Je suis en train de jouer de l'audio (narration) dans un livre audio. Les fichiers audio sont en .format ogg, entre 10 et 15 secondes chacun.

Modifier pour ajouter: je suis sous Android 2.2, API 8, et j'ai cela dans mon Manifeste:

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

J'ai setVolumeControlStream(AudioManager.STREAM_MUSIC); dans mon onCreate() de la méthode.

Mes sons sont joués par un code similaire à ceci:

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();

Mais, malgré les assurances (33 et de comptage!) que l'on a simplement besoin d' setVolumeControlStream(AudioManager.STREAM_MUSIC); dans onCreate(), mes sons ne changent pas dans le volume lorsque j'appuie sur les touches de volume sur mon appareil (Motorola Xoom).

Pour vérifier mes touches de volume faisaient quelque chose, j'ai remplacé 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)
    {
        DebugLog.d(TAG, "volume down");
    }
}

et confirmée par LogCat que je suis en appuyant sur le volume correct clés:

07-19 12:16:31.440: DEBUG/BookReader(17830): volume down; thread 1
07-19 12:16:31.710: DEBUG/BookReader(17830): volume down; thread 1
07-19 12:16:31.980: DEBUG/BookReader(17830): volume down; thread 1
07-19 12:16:32.440: DEBUG/BookReader(17830): volume up; thread 1
07-19 12:16:32.820: DEBUG/BookReader(17830): volume up; thread 1

Bien le lien suivant est d'environ SoundPool, devrais-je être le calcul des flux de volume au lieu d'utiliser mp.setVolume(1, 1); dans mon premier exemple de code ci-dessus?

OriginalL'auteur Thunder Rabbit | 2011-07-19