react-native - Expo Audio保持ActiveInBackground不工作
问题描述
我正在尝试在后台听音乐(流媒体),但当我打开另一个应用程序时流媒体停止。
const soundObject = new Audio.Sound();
async function playAudio() {
try {
await soundObject.loadAsync({
uri: "http://suaradio2.dyndns.ws:11004/stream"
});
await soundObject.playAsync();
soundObject.setAudioModeAsync({
staysActiveInBackground: true
});
// Your sound is playing!
} catch (error) {
// An error occurred!
}
}
解决方案
创建工作零食:https ://snack.expo.io/@djalik/staysactiveinbackground
您必须设置 setAudioModeAsync 的所有参数:
await Audio.setAudioModeAsync({
staysActiveInBackground: true,
interruptionModeAndroid: Audio.INTERRUPTION_MODE_ANDROID_DO_NOT_MIX,
shouldDuckAndroid: true,
playThroughEarpieceAndroid: true,
allowsRecordingIOS: true,
interruptionModeIOS: Audio.INTERRUPTION_MODE_IOS_DO_NOT_MIX,
playsInSilentModeIOS: true,
});
推荐阅读
- dll - 缺少 api-ms-win-core-winrt-string-l1-1-0.dll
- python - 将列表拆分为最少数量的集合的最快方法,枚举所有可能的解决方案
- java - 将“Togglz”功能切换库添加到 Spring Boot REST API
- mysql - 带有 UNIX 时间戳的 MySQL 表 - 按时间戳排序并计算一行与前一行之间的差异
- google-apps-script - Google App Script:如何显示带有模板化 HTML 链接的 google 驱动器文件
- google-sheets - 在 Google 表格中按逗号分隔列表中的单个条目进行过滤
- html - 超过链接时移除手形光标
- c - 重复的“lo0”范围,其中一个挂起尝试连接()
- firebase - Firebase-admin :以用户身份从 firestore 查询数据
- php - PHP 如何在整个页面中回显