gpt4 book ai didi

javascript - 如何在 React Native 中播放声音?

转载 作者:太空狗 更新时间:2023-10-29 15:49:47 26 4
gpt4 key购买 nike

我想在 React Native 中播放声音。

我已尝试在 zmxv/react-native-sound 中阅读此处,但作为像我这样的初学者,这些文档让我对如何在 React Native 代码中应用它感到困惑。

在我尝试之前this one在事件上使用react native 播放声音并制作如下代码:

import React, { Component } from 'react'
import { StyleSheet, Text, View, TouchableOpacity } from 'react-native'
const Sound = require('react-native-sound')


export default class MovieList extends Component {

handlePress() {
// Play some sound here
let hello = new Sound('motorcycle.mp3', Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log(error)
}
})

hello.play((success) => {
if (!success) {
console.log('Sound did not play')
}
})
}

render() {
const { movie } = this.props
return (
<TouchableOpacity onPress={this.handlePress.bind(this)}>
<View>
<Text>Start</Text>
</View>
</TouchableOpacity>
)
}
}

这是我放置音频的地方:

MyProject/android/app/src/main/res/raw/motorcycle.mp3

项目结构

Project Structure

那么,我的代码有什么问题?

最佳答案

这将预加载声音,当您按下播放按钮时,它将播放。

export default class MovieList extends Component {
componentDidMount(){
this.hello = new Sound('whoosh.mp3', Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log('failed to load the sound', error);
return;
}
});
}


handlePress() {
this.hello.play((success) => {
if (!success) {
console.log('Sound did not play')
}
})
}

render() {
const { movie } = this.props
return (
<TouchableOpacity onPress={this.handlePress.bind(this)}>
<View>
<Text>Start</Text>
</View>
</TouchableOpacity>
)
}
}

如果您希望播放声音列表中的音轨,请查看此 gist获取详细代码。

关于javascript - 如何在 React Native 中播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53737196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com