小编mih*_*iho的帖子

当铃声静音时,如何防止我的应用程序(使用AVPlayer)静音?

该主题听起来可能很奇怪,但请继续阅读。

我正在使用AVPlayer播放iPod库中的某些声音,并且在插入耳机的情况下使用它时一切正常,但是当我想使用该应用程序从内置扬声器播放时,没有声音输出。(时间计数器和应用程序中的所有其他功能仍在工作,就像会有声音输出一样。就像只是被静音了。)

我检查了音量和静音锁,然后发现铃声已静音。但是,铃声静音不会影响其他应用程序,例如iPod应用程序本身或Spotify音乐应用程序。

当铃声静音且行为类似于其他音乐播放器应用程序时,如何防止我的应用程序(使用AVPlayer)被静音?

audio objective-c ringtone ios avplayer

2
推荐指数
1
解决办法
1064
查看次数

为什么iOS不通知我的应用程序音频会话中断?

我正在使用AVPlayer播放来自不同来源(包括iPod音乐库)的声音.由于AVPlayer是更低级别的AVAudioPlayer,我必须自己处理中断.使用AVAudioPlayer不是一个选项!

在Apple开发者文档中,他们提到要么倾听,AVAudioSessionInterruptionNotification要么设置一个监听器AudioSessionInitialize.但是当这样做时我只在中断结束时收到通知,但由于他们的文件,我的应用程序应该能够处理两者.

我使用以下代码初始化我的音频会话:(简化版,删除不重要的行)

AudioSessionInitialize(NULL, NULL, ARInterruptionListenerCallback, nil);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
Run Code Online (Sandbox Code Playgroud)

以下是听众的样子:

void ARInterruptionListenerCallback(void *inUserData, UInt32 interruptionState) {
    if (interruptionState == kAudioSessionBeginInterruption) {
        // Here is the code which is never called...
    }
    else if (interruptionState == kAudioSessionEndInterruption) {
        // But this case will be executed!
    }
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句.我希望在电话或类似电话中断时执行此代码.我误解了Apple宣称中断的内容吗?

objective-c ios avaudiosession

2
推荐指数
1
解决办法
3658
查看次数

存储大量键值对的正确解决方案是什么?NSDictionary与DB

我需要用字典中的其他单词替换单词.该字典包含大约~1500个键值对(所有NSStrings包含一个应被另一个单词替换的单词).字典是动态构建的.使用数据库对我来说就像堆栈一样,但是将所有单词存储在字典中也感觉不太好.(它们可能会存储较长时间,在极少数情况下也会存储太多磁盘.)

在iOS应用程序中,这种情况下的正确解决方案是什么?

sqlite objective-c nsdictionary ios

2
推荐指数
1
解决办法
206
查看次数

iOS上的Walkie Talkie

我想为ios创建一个walkie takie应用程序,我需要一个帮助才能开始.我需要使用哪个框架通过蓝牙/ WiFi实现p2p连接而无需LAN.

据我所知,Bonjour不是解决方案,因为iPhone/iPad无法创建Wifi网络,我说对了吗?

那么GameKit框架呢?或者可能是有助于将两个设备连接在一起的任何其他框架.

在应用程序商店中我找到了Voxer Walkie-Talkie应用程序,有谁知道他们使用了哪个框架?

networking bluetooth gamekit wifi ios

1
推荐指数
1
解决办法
1696
查看次数