React bileşeninin içinde duraklatma işlevi çağrılıyor ancak hiçbir şey olmuyor
Dec 28 2020
Oynatmak ve duraklatmak için bir geçiş düğmem var. işte kod:
export default (props) => {
let [soundState, setSoundState] = useState({ state: 'off' })
let [soundId, setSoundId] = useState(null)
let [soundSeek, setSoundSeek] = useState(null)
var sound = new Howl({
src: [props.url],
html5: true,
volume: 1,
myMusicID: '',
saveSeek: null,
onpause: () => {
console.log('pause', soundId)
}
})
const onPlayHandle = () => {
setSoundState({ state: 'playing' })
let id = sound.play()
setSoundId(id)
sound.seek(soundSeek, soundId)
}
const onPauseHandle = () => {
console.log('onPauseHandle', soundId)
sound.pause(soundId)
setSoundSeek(sound.seek(soundId))
}
}
onpause
yanıyor ama ses hala çalışıyor ...
lütfen biraz yardım ...
Yanıtlar
2 lissettdm Dec 29 2020 at 00:07
Bileşeniniz her oluşturucu olduğunda yeni bir Howl
örnek oluşturulur. Örnek referansını korumak için useRef kullanmanız gerekir :
const soundRef = useRef(new Howl({
src: ["http://listen.vo.llnwd.net/g3/prvw/6/5/8/3/1/2255913856.mp3"],
html5: true,
volume: 1,
myMusicID: "",
saveSeek: null,
onpause: () => {
console.log("pause", soundId);
}
}));
const sound = soundRef.current;
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'