2016-12-04 6 views
0

Ich benutze das react-native-sound Modul und ich kann einen Sound für etwa 30 mal spielen. Es spielt keine Rolle, ob es Sound1 für 30 Mal oder mehrere Sounds ist. Aber nach diesen 30 Malen hört es auf.Sounds spielen für etwa 30 mal dann stoppen

Nachladen korrigiert es nicht, das Schließen der App durch Wegwischen tut es.

Wie behebe ich dieses Problem? Diese

ist, wie ich die Töne verwenden:

import Sound from 'react-native-sound'; 


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

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

kann nicht vorstellen, dass es etwas falsch gibt die Geräusche ist perfekt funktionieren.

+0

es wirklich nach 30 mal aufhört (oder manchmal 31 oder 28)? Vielleicht hört es auf, weil Ihre App gestoppt wurde ... – Opiatefuchs

+0

Es stoppt nach 31 Mal. Keine anderen Sounds spielen, während ich die App noch nutzen kann. Wenn ich die App neu lade, funktionieren die Sounds immer noch nicht. Ich muss den App-Prozess vollständig schließen, um es zu beheben. Dann kann ich noch 31 Sounds spielen und es passiert wieder. –

+0

Ich habe wieder gezählt und es scheint immer 31 Sounds zu haben. NACH 31 werden keine Sounds mehr abgespielt, auch wenn es sich um eine andere Datei handelt. –

Antwort

0

Das Problem trat auf, weil ich zu viele Instanzen erstellte. Um das zu lösen, stelle ich meine Musikbibliothek in die Redux store.

Also alles, was ich tun musste, war es in den Anfangszustand meines Minderer setzen:

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; 
    } 
} 
Verwandte Themen