我没有问题运行音频,但我有麻烦暂停它。如果有人能帮忙,那就太好了。
async function playMusic() {
const soundObject = new Audio.Sound();
console.log("Being hit")
try {
await soundObject.loadAsync({uri:'https://firebasestorage.googleapis.com/v0/b/o/myFolder%2FMello%20C%20-%20Easy.mp3?c4e-4bf8-b8ea-dcc201efff44'});
await soundObject.playAsync();
} catch (error) {
alert("Error" + error.message)
}
}
async function stopMusic() {
console.log("Not Being hit")
const soundObject = new Audio.Sound();
try {
await soundObject.loadAsync({uri:'https://firebasestorage.googleapis.com/v03?alt=media&token=e44f7b2f-8c4e-4bf8-b8ea-dcc201efff44'});
await soundObject.stopAsync();
} catch (error) {
alert("Error" + error.message)
}
}
2条答案
按热度按时间zaqlnxep1#
我们永远不应该把Sound示例创建为状态变量。因为只要有重新渲染,它就会重新渲染声音示例。
您应该创建一个
ref
变量并使用它,Working Example
播放音乐/Play Music
jtw3ybtb2#
对于那些仍然在这个问题上挣扎的人,你可以使用Expo提供的视频组件运行一个音频轨道。从那里你会有一个本地控制部分播放/停止音轨