2016-12-04 83 views
0

我使用react-native-sound模塊,我可以播放約30次的聲音。如果它是Sound1的30倍或多個聲音無關緊要。但在這30次停止之後。聲音播放約30次然後停止

重新加載不能修復它,通過刷掉它來關閉應用程序。

我該如何解決這個問題?

這是我使用的聲音:

import Sound from 'react-native-sound'; 


render() { 
    let buttonClickSound = new Sound('button.mp3', Sound.MAIN_BUNDLE); 

    _onClick =() => { 
    buttonClickSound.play() 
    } 
} 

無法想象有什麼不對勁的地方的聲音完美地工作。

+0

它停止30之後就真的次(有時是31或28)?也許它停止,因爲你的應用程序已停止.... – Opiatefuchs

+0

31次後停止。當我仍然可以使用應用程序時,沒有其他聲音播放。當我重新加載應用程序時,聲音仍然不起作用。我必須完全關閉應用程序來修復它。然後,我可以播放另外31個聲音,並再次發生。 –

+0

我再次計算,它似乎總是31聲。在31之後,即使它是另一個文件,它也不會播放任何聲音。 –

回答

0

問題發生是因爲我創建了太多的實例。爲了解決這個問題,我把我的音樂庫放在Redux store

因此,所有我需要做的就是把它放在我減速的初始狀態:

import * as types from '../actions/actionTypes'; 
import Sound from 'react-native-sound'; 

const initialState = { 
    backgroundMusic: false, 
    buttonClick: new Sound('button.mp3', Sound.MAIN_BUNDLE), 
}; 

export default function reducer(state = initialState, action = {}) { 
    switch (action.type) { 
    case types.TOGGLE_BACKGROUND_MUSIC: 
     return { 
     ...state, 
     backgroundMusic: !state.backgroundMusic 
     }; 
    default: 
     return state; 
    } 
}