gpt4 book ai didi

java - 媒体播放器给我空指针异常

转载 作者:行者123 更新时间:2023-12-01 13:37:53 25 4
gpt4 key购买 nike

我希望我的代码在按下按钮时以最大音量播放声音文件。我的代码仅播放声音文件就可以正常工作,但是当我输入 originalVolume

int originalVolume = mAudioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
mAudioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
0);

单击按钮后我的程序崩溃了。

public class VolumeUp extends Activity {
TextView text;
int counter = 0;
private AudioManager mAudioManager;
MediaPlayer mediaPlayer = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (TextView) findViewById(R.id.hello);

text.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
int originalVolume = mAudioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
mAudioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
0);

mediaPlayer = MediaPlayer.create(VolumeUp.this,
R.raw.policesiren);
mediaPlayer.setScreenOnWhilePlaying(true);
mediaPlayer.setLooping(true);// we set the sound to loop.
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
originalVolume, 0);
mediaPlayer.start();

}
});

}

最佳答案

从上面显示的代码中,mAudioManager 始终为 null。所以你得到 NPE 的原因很明显。

你忘记了这一行:

mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

关于java - 媒体播放器给我空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21124873/

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