我正在製作一個應用程序,並且我希望它在打開活動時發出聲音,聲音文件位於R.raw.sound_file
,如果有人可以做一些示例代碼以使我的應用程序播放出的聲音非常好。我如何獲得.wav聲音播放?
回答
不是android.media.MediaPlayer
這個班嗎?
參考:http://developer.android.com/reference/android/media/MediaPlayer.html
實施例:http://developer.android.com/guide/topics/media/index.html
的例子的步驟2中表示:
MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
mp.start();
在你的情況,我使用onStart()
您的活動類中:
public class MyActivity extends Activity {
...
protected void onStart() {
super.onStart();
MediaPlayer mp = MediaPlayer.create(this, R.raw.sound_file_1);
mp.start();
}
...
}
我有同樣的問題。 這個工作對我來說,通過使用應用程序上下文如下:
public class MyActivity extends Activity {
...
protected void onStart() {
super.onStart();
Context appContext = getApplicationContext();
MediaPlayer mp = MediaPlayer.create(appContext , R.raw.sound_file_1);
mp.start();
}
...
}
另外,不要忘記調用mp.release()一旦你完成
另外,最佳選擇是使用的Soundpool類
我有使用MediaPlayer對象爲Android應用我創建的經驗,我發現了以下內容:
的Wav文件H如果MediaPlayer有一個32kbps的比特率問題,但是較高比特率的wav文件似乎可以正常播放,即使它是一個大的wav文件,只要具有較高的比特率就可以播放。
如果可能的話,使用MP3文件音頻,我遇到任何與使用MediaPlayer對象的mp3音頻文件沒有問題,這樣是最好的方式,使用谷歌有很多不同類型的MP3的聽起來可以免費聽到鈴聲和叮叮聲,可以聽到樹皮,貓咪的喵聲,或者任何你想要的聲音。
我在使用MediaPlayer閱讀WAV文件時也遇到問題。有問題的文件上的Linux命令'file'說:* RIFF(little-endian)數據,WAVE音頻,MPEG Layer 3,mono 44100 Hz * – 2013-02-15 02:06:33
嘗試使用我的代碼,它完美地工作。你也需要有聲音文件.WAV帶RES /生
public class PianoActivity extends Activity {
private MediaPlayer mediaPlayer = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_piano);
setupUI();
}
@Override
protected void onPause() {
super.onPause();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
private void setupUI() {
findViewById(R.id.doo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
managerOfSound();
}
});
}
private void managerOfSound() {
mediaPlayer = MediaPlayer.create(this, R.raw.doo);
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
} else {
mediaPlayer.stop();
}
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
mp.release();
}
});
}
}
- 1. 如何在C++中播放.WAV聲音
- 2. 如何在Flixel中播放wav聲音?
- 3. .wav文件不播放任何聲音
- 4. Winmm.dll不會播放某些wav聲音?
- 5. VB播放隨機聲音wav文件
- 6. 播放WAV文件時單擊聲音
- 7. 停止以前播放的WAV聲音
- 8. 播放.wav聲音以base64的JavaScript
- 9. 無法播放聲音(wav)事件
- 10. 聲音播放和播放聲音
- 11. 如何使用Naudio從WAV文件播放多聲道音頻?
- 12. 如何在.NET CF 3.5中同時播放多個wav聲音
- 13. 如何從內存播放Wav聲音樣本
- 14. 捕獲播放聲音
- 15. 如何從聲音的開始播放/暫停聲音和聲音播放?
- 16. 播放聲音?
- 17. 播放聲音
- 18. 播放聲音
- 19. 播放聲音
- 20. 播放聲音
- 21. 播放聲音
- 22. 如何播放聲音而不是獲得例外?
- 23. 如何獲得excel播放聲音時遇到條件
- 24. 更改.wav文件的播放頻率(人聲音調爲動物聲音)?
- 25. 未播放聲音
- 26. 在播放聲音
- 27. 聲音未播放
- 28. VC++播放聲音
- 29. Ruby聲音播放
- 30. 聲音未播放
我不知道該用什麼作爲背景下,香港專業教育學院試圖把它作爲空,但應用程序只是強制關閉 – Dan 2010-03-17 07:05:14
上下文應該是你的Activity(或Service,BroadcastReceiver,...),你可以從中調用它。 但是在你的情況下:當你想在應用程序第一次啓動時播放聲音,你可以從Application.onCreate()啓動MediaPlayer(如上所述),這樣我就可以更早地播放音頻了。但是,不要,這會始終播放音頻,並且如果其他任務啓動了其他任何活動(如果可能的話)。 – MrSnowflake 2010-03-17 09:16:47
好的,如果我想要執行.onCreate()方法,我會使用什麼代碼... – Dan 2010-03-17 16:45:58