мы создаем приложение с игроком Экспо.у него есть кнопка паузы и воспроизведения.Теперь у меня две проблемы с нашим проигрывателем:
- Воспроизводит звуковой файл, который я посылаю через реквизит только один раз!
- Он игнорирует другие звуковые файлы. Iотправить его потом (когда он закончится) или когда он заработает.
- Предполагается, чтобы остановить и воспроизвести новый, или начать все сначала, если это один и тот же файл (путь).
Я пытался решить проблемы с AV - Expo Documantation (initialStatuse, т. Д.), Но не получилось с кодами, которые дает там.
Мой код игрока:
const playerObject = new Expo.Audio.Sound();
const playing = false;
render() {
return (
<View>
<Card wrapperStyle={{ width: 346, height: 180 }}>
<View style={{ flexDirection: "row" }}>
<Text style={styles.resultsContainer}>
{this.state.song.Song_Name}{" "}
</Text>
<Image
style={styles.imageContainer}
source={{ uri: this.state.song.Image }}
/>
</View>
<View style={styles.buttonRow}>
<Ionicons
name="md-play"
size={40}
color="black"
onPress={async () => {
try {
if (!playing) {
await playerObject.loadAsync({
uri: this.state.song.Song_File
});
}
await playerObject.playAsync();
} catch (error) {}
}}
/>
<View style={{ flex: 0.1 }}> </View>
<Ionicons
name="md-pause"
size={40}
color="black"
onPress={async () => {
playing = true;
try {
{
await playerObject.pauseAsync();
}
} catch (error) {}
}}
/>
{/* )} */}
</View>
</Card>
Рад, что вы можете нам помочь.