'uri.match' 未定义试图将音频文件插入视频源
'uri.match' is undefined trying to require audio file into video source
这是我围绕这个 <Video />
元素编写的代码
class Menu extends Component {
...
audioFile = null
componentWillMount(){
this.audioFile = require('../../assets/audio/subtle.mp3');
}
}
<Video source={{uri: this.audioFile}} // Can be a URL or a local file.
ref={(ref) => {
this.player = ref
}}
onError={this.audioError}
audioOnly
style={styles.backgroundVideo}
playInBackground
playWhenInactive
ignoreSilentSwitch={"ignore"}
/>
我得到的具体错误是...
TypeError: uri.match is not a function. (In 'uri.match(/^\//)', 'uri.match' is undefined)
这是版本
expo: 30.0.0
expokit: 1.7.1
react: 16.3.1
react-native: https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz
react-native-video: 3.2.1
我正在尝试从此处的本地包加载音频资产,但我似乎无法让它工作,如果我从该文件夹中删除音频文件,它会抛出一个错误,它不能找到它,所以肯定能找到文件。
希望得到一些帮助
我找到了解决方案。变量 audioFile
本身包含 uri
键。
所以
<Video source={{uri: this.audioFile}} // Can be a URL or a local file.
...
...
/>
试试这个:
<Video source={this.audioFile} // Can be a URL or a local file.
...
...
/>
请注意,我直接将 this.audioFile
传递给了源。
更重要的是,要显示视频,你必须传递高度和宽度。
这就是它在我的用例中起作用的原因
<Video source={require('../../assets/audio/file.mp3')} ... />
这是我围绕这个 <Video />
元素编写的代码
class Menu extends Component {
...
audioFile = null
componentWillMount(){
this.audioFile = require('../../assets/audio/subtle.mp3');
}
}
<Video source={{uri: this.audioFile}} // Can be a URL or a local file.
ref={(ref) => {
this.player = ref
}}
onError={this.audioError}
audioOnly
style={styles.backgroundVideo}
playInBackground
playWhenInactive
ignoreSilentSwitch={"ignore"}
/>
我得到的具体错误是...
TypeError: uri.match is not a function. (In 'uri.match(/^\//)', 'uri.match' is undefined)
这是版本
expo: 30.0.0
expokit: 1.7.1
react: 16.3.1
react-native: https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz
react-native-video: 3.2.1
我正在尝试从此处的本地包加载音频资产,但我似乎无法让它工作,如果我从该文件夹中删除音频文件,它会抛出一个错误,它不能找到它,所以肯定能找到文件。
希望得到一些帮助
我找到了解决方案。变量 audioFile
本身包含 uri
键。
所以
<Video source={{uri: this.audioFile}} // Can be a URL or a local file.
...
...
/>
试试这个:
<Video source={this.audioFile} // Can be a URL or a local file.
...
...
/>
请注意,我直接将 this.audioFile
传递给了源。
更重要的是,要显示视频,你必须传递高度和宽度。
这就是它在我的用例中起作用的原因
<Video source={require('../../assets/audio/file.mp3')} ... />