游戲都需要有點(diǎn)背景音樂娘锁,在RN里播放音樂钮莲,可以使用第三方插件react-native-sound照藻,使用的方法也簡單袜啃。
npm install react-native-sound --save
react-native link react-native-sound
將音樂文件加入到項(xiàng)目中,Android的要將文件放入android/app/src/main/res/raw/
內(nèi)幸缕;iOS的用Xcode打開項(xiàng)目的ios文件夾囊骤,在根目錄下點(diǎn)右鍵->Add Files to ["xxx"]晃择,選擇要加入的文件。
加好音樂文件后就能在代碼里使用插件來播放音樂了也物,代碼片段如下宫屠,完整代碼見Board.js
import Sound from 'react-native-sound';
const music = new Sound('background.mp3', Sound.MAIN_BUNDLE, (error) => {
// 加載成功回調(diào)
if (error) {
console.log('failed to load the sound', error);
return;
}
music.setVolume(0.8); // 設(shè)置音量
music.setNumberOfLoops(-1); // 無限循環(huán)
music.play((success) => { // 播放完成后回調(diào)
if (success) {
console.log('successfully finished playing');
} else {
console.log('playback failed due to audio decoding errors.' + success);
}
});
this.setState({ backgroundMusic: music, loadingMusic: false });
}
另外不要忘記在程序退出時釋放資源
componentWillUnmount() {
const { backgroundMusic } = this.state;
backgroundMusic.stop();
backgroundMusic.release();
}
這里還有一個問題,這背景音樂即使在用戶已經(jīng)切換到其它程序或按Home鍵后仍然在播放滑蚯,這顯然是不對的浪蹂。在下一篇在講如何監(jiān)聽App的狀態(tài)。