J'ai une application qui joue intermittent des sons tandis que son activité est ouverte, et l'utilisateur est toujours attendu pour faire de ces bruits, mais malheureusement, il est contraint par la musique de flux de volume. Les options que j'ai découvert sont donc:
- Ajuster la musique du flux de volume, éventuellement assourdissant à l'utilisateur s'il leur arrive de jouer de la musique à l'époque.
- Appel MediaPlayer.setVolume() qui est inefficace si la musique du flux de volume est de 0.
- Poignée bouton de volume presses de moi-même qui pose deux questions: volume appuie sur un bouton ajuster le volume de la sonnerie à moins que mon audio est en cours de lecture, et j'ai été encore incapable de rattraper le onKey événement pour un volume appuyez sur le bouton à l'aide de mon OnKeyListener. S'il y avait un moyen de forcer l'ajustement à appliquer à la musique stream alors que mon activité a le focus, ou prenez simplement le bouton de presses à moi-même ce serait le travail.
- Jouer en silence, un morceau en boucle de l'audio en arrière-plan pour garder la musique en flux dans le contexte des ajustements de volume.
Je pense que la 3ème option est probablement le meilleur depuis qu'il cède le contrôle du volume pour l'utilisateur, mais s'il y avait un moyen de remplacer le système de volume en un seul mediaplayer instance qui serait trop de travail.