0
我有一个反应组件,其中包含播放直播的Audio
对象。当组件最初加载它开始播放时,但是,如果我卸载组件然后重新安装它,播放按钮不起作用,并且流不会重新启动。使用React重新安装音频对象时不重新启动流
下面是组件和生命周期方法的代码:
import React from 'react'
import compose from 'recompose/compose'
import lifecycle from 'recompose/lifecycle'
const enhance = compose(
lifecycle({
componentDidMount() {
this.audio = new Audio()
this.audio.src = 'http://some-stream-url.com'
this.audio.play()
this.audio.muted = true
},
componentDidUpdate() {
this.audio.muted = !this.props.playing
},
componentWillUnmount() {
this.audio = ''
this.audio = null
}
})
)
const Player = (props) => null
export default enhance(Player)
不幸的是,这似乎缓存离线前的最后几秒,但它不会再次实例化流 –