gpt4 book ai didi

java - 使用 MediaPlayer API 的 setVolume 不起作用

转载 作者:行者123 更新时间:2023-12-02 03:02:52 27 4
gpt4 key购买 nike

我不想使用 AudioManager...使用 MediaPlayer API,我的应用程序无法将音量设置到所需的级别。因为它以通过音量增大和音量减小键设置的先前音量级别播放。

public class MainActivity extends AppCompatActivity {

protected static MediaPlayer mp;

@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button next=(Button) findViewById(R.id.button);
mp=MediaPlayer.create(this,R.raw.m1);
mp.setVolume(0.02f,0.02f);
mp.start();
mp.setLooping(true);

next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
});

最佳答案

如文档中所述:

“建议使用此 API 来平衡应用程序中音频流的输出。除非您正在编写应用程序来控制用户设置,否则应优先使用此 API setStreamVolume(int, int, int) 设置特定类型的所有流的音量。"

https://developer.android.com/reference/android/media/MediaPlayer.html#setVolume(float,%20float)

You can however set a stream to your mediaplayer and let is play on the desired stream like Music / Notification or Alarm which should suffice the req.

mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

否则,如果您想播放一定级别的声音,则必须使用 AudioManager API 来设置特定流并设置流的音量并播放音频。这是一种常见的做法。

关于java - 使用 MediaPlayer API 的 setVolume 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com