长期倾听者第一次来电。
到目前为止,当我导航到使用react-native-video的屏幕时,我还没有成功地从Spotify等网站获取背景音乐,以便在我的react-native应用程序中保持活力。 在 Android 上,无需进行任何更改即可运行。 我正在使用react-native(非expo),目前正在testflight上进行测试。
如果这是重复的,请告诉我,但我只找到了很多关于如何让你的应用程序在后台播放的文章(我的问题是相反的),而且我可能不只知道 IOS 用于此类控制的术语。 需要注意的是,该组件的一个实例确实包含音频,但大多数呈现的视频都没有音频。
我已经尝试过:
AppDelegate.m
#import <AVFoundation/AVFoundation.h> // import
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; // allow
...
}
ignoreSilentSwitch="ignore"
和 obey
Obey
成功允许背景音频继续,但将有音频的视频静音。在 xcode 中我的应用程序目标上添加了背景模式 =“音频、Airplay 和画中画”功能。
哭了一点,质疑我的人生选择。
我使用react-native-video-controls实现了react-native-video,但据我了解,它是具有附加功能的同一模块。这是实现:
<VideoContainer>
<VideoPlayer
source={currentVideo}
navigator={null}
ref={videoRef}
resizeMode={'cover'}
controlTimeout={1500}
paused={isPaused}
repeat={true}
muted={true}
tapAnywhereToPause={true}
disableBack={true}
disableTimer={true}
disableVolume={true}
disableFullscreen={true}
showOnStart={true}
hideShutterView={true}
/>
</VideoContainer>
非常感谢任何帮助、建议、反馈或反驳!
找到了罪魁祸首。
因此,我使用react-native-audio来播放某些定时声音,覆盖静音和非静音视频。
当您调用react-native-sound Sound.setCategory()方法时,可选的第二个参数是“mix-with-other”布尔值。 将其设置为 true 并遵循 AppDelegate.m 中的react-native-video 建议的 AVAudioSession 配置就是我所需要的。
IOS 类别(react-native-sound 中建议的播放除外): ios 声音类别
有关音频的有用 IOS 文档:
我认为有一个道具
mixWithOthers
尝试将其设置为“混合”
添加这 3 个道具即可:
<Video
...
ignoreSilentSwitch="obey"
muted={true}
disableFocus
/>
disableFocus={true} // Prevents background music from being paused
后台播放 确定应用程序在后台时是否应继续播放媒体。这允许客户继续收听音频。
false(默认)- 不继续播放媒体
true - 继续播放媒体 要在 iOS 上使用此功能,您必须:
在 Xcode 项目中启用背景音频 将ignoreSilentSwitch 属性设置为“忽略” 平台:Android ExoPlayer、Android MediaPlayer、iOS