小编eri*_* f.的帖子

Android应用程序类被调用两次

在我的Android应用程序中,我重载了Application类,并更新了清单中的标记.此应用程序还会创建Android服务.我已经在我的Application类的onCreate中放了一些日志,我看到它被调用了两次.第一次是我的应用程序启动时(这是预期的)然后,它通常是在创建服务之后.日志还显示正在创建Application的第二个实例.(我打印"this"值,它们是不同的).

我认为应用程序将创建为单例.这是因为我创建了一个服务吗?

android

15
推荐指数
2
解决办法
8227
查看次数

react-native run-ios无法找到任何模拟器

我一直面临着一个问题,即无论我添加到--simulator参数中的模拟器如何,“ react-native run-ios”都无法启动。XCode具有“命令行工具”的正确位置

我总是遇到错误:找不到iPhone X模拟器

Error: Could not find iPhone X simulator
    at resolve (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
    at new Promise (<anonymous>)
    at runOnSimulator (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
    at Object.runIOS [as func] (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
    at Promise.resolve.then (/Users/eric/.../swim/node_modules/react-native/local-cli/cliEntry.js:117:22)
Run Code Online (Sandbox Code Playgroud)

反应性信息

>   React Native Environment Info:
>     System:
>       OS: macOS 10.14.2
>       CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
>       Memory: 6.76 GB / 32.00 GB
>       Shell: 3.2.57 - /bin/bash
>     Binaries:
>       Node: 10.15.0 - /usr/local/bin/node
>       Yarn: 1.13.0 - /usr/local/bin/yarn
>       npm: 6.4.1 - …
Run Code Online (Sandbox Code Playgroud)

ios ios-simulator react-native

12
推荐指数
4
解决办法
7494
查看次数

接管音频会话

我的应用程序支持来自外部音乐应用程序(如Pandora)的音频或在应用程序内播放,使用AVPlayer从iPod库播放AVPlayerItem.

在我的AppDelegate中,我调用: - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

AudioSessionInitialize(NULL, NULL, interruptionListenerCallback, self);
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];


UInt32 otherAudioIsPlaying;
UInt32 propertySize = sizeof (otherAudioIsPlaying);

AudioSessionGetProperty (
                         kAudioSessionProperty_OtherAudioIsPlaying,
                         &propertySize,
                         &otherAudioIsPlaying
                         );

if (otherAudioIsPlaying) {
    NSLog(@"Allow Mixing for background music (like Pandora,...)");
    UInt32 allowMixing = true;
    AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof (allowMixing), &allowMixing);
}

[[AVAudioSession sharedInstance] setActive: YES error: NULL];
Run Code Online (Sandbox Code Playgroud)

...

请注意,我也注册了中断.

因此,如果应用程序在Pandora播放时启动,Pandora将继续播放.

之后,如果USer决定从iPod库播放音乐,我会调用:[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:0 error:nil]; 并确保,我收到遥控事件,我打电话:[self becomeFirstResponder]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

直到这里,一切正常:应用程序现在播放iPod库中的音乐(并且在将类别设置为播放时停止Pandora).

单击耳机上的中央按钮时出现问题.在上述顺序中,单击中心按钮时,将调用interruptionListenerCallback!我期待调用remoteControlReceivedWithEvent回调.

所以,我的问题是:你怎么确定外部音乐播放器不再处理遥控事件,我的应用程序得到它们?

在Pandora以前从未播放的不同用例中,一切正常:我的应用程序按预期接收远程控制事件; 所以我知道这部分代码有效.

谢谢

events playback remote-control ios avplayer

8
推荐指数
0
解决办法
688
查看次数