2
最近我開始使用Android。在播放時可以改變聲音輸出嗎?
我想要做一個小例子,以瞭解如何使用android輸出聲音。
爲了這一點,我建我播放MP3文件的程序,雖然這個遊戲可以將聲音輸出更改爲:
- 內置揚聲器
- 外部揚聲器
- 耳機
- 聽筒
這可能嗎?
我已完成部分代碼,但不知道如何從聲音輸出跳轉到另一個聲音輸出。
公共類TestAudioActivity延伸活動{
private MediaPlayer mediaPlayer;
private ImageButton playButton;
private ImageButton pauseButton;
private ImageButton stopButton;
AudioManager audioManager;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initializeMediaPlayer();
playButton = (ImageButton) findViewById(R.id.playButton);
pauseButton = (ImageButton) findViewById(R.id.pauseButton);
stopButton = (ImageButton) findViewById(R.id.stopButton);
playButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null)
mediaPlayer.start();
else
initializeMediaPlayer();
}
});
pauseButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
/** if (mediaPlayer != null)
mediaPlayer.pause(); */
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(false);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
}
});
stopButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
});
}
private void initializeMediaPlayer() {
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://server3.pianosociety.com/protected/bach-bwv772-stahlbrand.mp3");
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// Mostramos mensaje en caso de error.
Toast.makeText(getApplicationContext(), "URL no encontrada", 2000);
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
誰能幫助?
謝謝。
嗨佩德羅,我運行的時候補充說,你送,但不工作的代碼應用程序代碼出來,並停止執行。 – user1169292 2012-02-12 10:38:28