摘要
背景:我试图用React Native、Expo和Expo-AV制作一个计时器应用。
我正在用Managed工作流初始化一个库存应用程序,并试图用 expo-av (9.2.3) 来播放一个MP3文件。我看到另一个问题,在Moto G5,Android 8上没有声音播放。对我来说,Moto G6 Android 9, iPhone SE iOS 14.6, 或在网络上都不能播放声音。 App.json 和package.json 。

管理的还是裸露的工作流程?
管理的
这种情况发生在什么平台上?
安卓,网络
SDK版本(仅管理的工作流程)
42.0.3
使用环境
Expo CLI 4.9.0环境信息:
- 系统:操作系统:Windows 10 10.0.19042
- 二进制文件:节点。14.17.4 - C:\Program Files\nodejs\node.EXE, npm: 6.14.14 - C:\Program Files\nodejs\npm.CMD
- 集成开发环境:Android Studio。版本2020.3.0.0 AI-203.7717.56.2031.7583922
- npmPackages:
- expo:~42.0.1 => 42.0.3
- react: 16.13.1 => 16.13.1
- react-dom: 16.13.1 => 16.13.1
- react-native:github.com/expo/react-…=> 0.63.2
- react-native-web:~0.13.12 => 0.13.18
- 世博会工作流程:管理
可复制的演示或从一个空白项目中复制的步骤
- 运行
expo init my-app - 运行
expo install expo-av - 在根目录中添加一些MP3文件。我正在使用这个。
- 把这段代码复制到
app.js
import { StatusBar } from 'expo-status-bar';
import React, { useEffect } from 'react';
import { Audio } from 'expo-av';
import { StyleSheet, Text, View } from 'react-native';
export default function App() {
useEffect(() => {
playSound()
}, []);
async function playSound() {
const sound = new Audio.Sound();
try {
await sound.loadAsync(require('./sound.mp3'));
await sound.playAsync();
await sound.unloadAsync();
} catch (error) {
console.error(error)
}
}
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
- 运行
expo start - 在Moto G6 Android 9.0, iPhone SE iOS 14.6的Expo Go应用程序上预览。或者用终端输入
w,在网上打开。