草庐IT

background-audio

全部标签

iOS : Keeping application alive in background while waiting for a connection

我正在使用BLE开发一个iOS5应用程序,它需要监控与蓝牙设备的连接几个小时。我一直在我的UIBackgroundModes的plist中使用bluetooth-central,只要设备连接,它就可以很好地保持应用程序运行。当它断开连接时,我尝试重新连接,一旦设备再次开始播放广告,它也能很好地工作。问题是如果它断开连接并且用户开始使用其他应用程序,它不会重新连接。我一直在尝试查看问题所在,据我所知,当内存级别较低时,如果连接了设备,我的应用程序不会被终止,但它可以(并且将会)被终止如果没有连接,则被杀死。我可以在iPhone的“LowMemory”日志中看到我的应用程序被丢弃。我如何确

ios - 试图找出 Core Audio 的 NBandEQ

所以我试图弄清楚Apple在iOS5中添加的记录不良的NBandEQ。我能够让它在16个频段以下的任何东西上都能很好地工作,但我想要更多:)如果我把它变成一个15频段EQ一切正常,但如果我选择16及以上的任何数字,我在设置kAUNBandEQProperty_NumberOfBands时会收到-10851(kAudioUnitErr_InvalidPropertyValue)错误,然后前8个频段设置正常其余导致-10878(kAudioUnitErr_InvalidParameter)错误。所以15个波段可以成功完成,但是当我突然变成16个时,只能完成8个。我可以读到kAUNBandE

iOS 8 键盘扩展 : How to copy/paste an audio or video clip into messages?

我正在使用新的键盘扩展,我能够创建一个键盘来允许发送文本。(简单的东西)。我还想出了如何将键盘扩展中的图像复制+粘贴到消息中。但是,我似乎找不到太多或任何关于如何通过消息(或视频文件)向某人发送音频剪辑的信息。我知道这必须类似于发送图像的方式。在您需要复制并粘贴到字段中的位置。有谁知道如何做到这一点?谢谢! 最佳答案 获取音频剪辑到粘贴板的过程应该与图像非常相似。这是一些快速代码,它粘贴一个名为audio.wav的文件letpath=NSBundle.mainBundle().pathForResource("audio",ofTy

iOS : Background Bluetooth Low Energy (BLE) scanning rules

在网上花了几个小时,我找不到任何关于IOS使用的后台BLE扫描规则的文档。由于在IOS上无法设置扫描窗口,我在寻找IOS在后台扫描时Apple定义的规则。上下文我正在开发一种可穿戴外围设备,当手机无法触及它时,它有时会断开连接。目标是在外围设备离手机足够近时快速重新连接(少于5秒)。外围设备有电池限制,所以我不能永远每20毫秒做一次广告,所以我正在寻找一种巧妙的方法将我的外围设备重新连接到手机。如果我知道后台扫描模式是如何工作的,我将能够定义一个智能广告间隔以节省电量。用例如果我的外围设备每1285毫秒广播一次,那么我的IOS应用程序在后台模式下发现10分钟需要多长时间?

ios - PJSIP : Crash on pj_sockaddr_get_port when moving iOS app to background and then to foreground

我有一个使用PJSIPv2.3.0的iOSVOIP应用程序。在iOS11发布后,我看到了很多崩溃的例子。我将fabric(crashlytics)与我的应用程序集成在一起,这是崩溃线程的回溯。Crashed:Thread0libsystem_kernel.dylib0x186819348__pthread_kill+81libsystem_pthread.dylib0x18692d354pthread_kill$VARIANT$mp+3962libsystem_c.dylib0x186788fd8abort+1403libsystem_c.dylib0x18675cabcbasenam

ios - 如果屏幕锁定,点击暂停按钮时 avplayer 不会暂停

如果应用程序正在播放音频并且手机屏幕被锁定,则控制屏幕如下所示。我无法对avplayer执行任何操作在我的appdelegate中我实现了:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{MPRemoteCommandCenter*rcc=[MPRemoteCommandCentersharedCommandCenter];[[rccskipForwardCommand]setEnabled:NO];[[rccskipBack

Android audio篇章(1)------Audio架构

文章目录前言一、Android和Linux的区别?二、Audio架构1.Audio音频子系统架构图2.AudioHAL层的功能以及理解2.1.AudioHAL层的框架分析2.2.AudioHAL层的源码分析2.3.AudioHAL层的过程总结总结前言自己现在岗位工作就是底层驱动开发,现在是学习audio的底层驱动,想利用平常的空闲时间对自己的学习做一个总结归纳。一、Android和Linux的区别?Android继承于Linux,Android是基于Linux的内核基础上运行的,提供的核心系统服务包括安全、内存管理、进程管理、网络组和驱动模型等内容。但是,严格来说,Android不算是Linu

ios - iOS Audio Calling APP使用Circular Buffer的原因是什么?

我的问题几乎不言自明。对不起,如果它看起来太愚蠢了。我正在编写一个iOSVoIP拨号器并检查了一些开源代码(iOS音频调用应用程序)。几乎所有这些都使用循环缓冲区来存储记录和接收的PCM音频数据。所以我想知道为什么我们需要在这种情况下使用循环缓冲区。使用这种音频缓冲区的确切原因是什么。提前致谢。 最佳答案 使用循环缓冲区可以让您从源头异步处理输入和输出数据。音频渲染过程发生在高优先级线程上。它从您的应用程序(播放)请求音频样本,并以回调的形式在计时器上提供音频(录制/处理)。一个典型的场景是音频回调每0.023秒触发一次以请求(和/

iphone - 核心音频(Audio Units) Audio Session 和 MPVolumeView

我在开发VOIP应用程序。我使用CoreAudioAudioUnits来播放和录制音频。我需要能够控制音量和输出设备。我正在尝试使用MPVolumeView来设置音量和选择输出设备。我的问题是:当我开始使用(开始播放和捕获RemoteIO音频单元)音频单元时,MPVolumeView似乎不再控制我的session的音量,而是控制系统范围的声音首选项。同时硬件按钮控制音频单元播放的声音音量。此外,当我开始使用AudioUnitsMPVolumeView时,它开始显示更改输出设备的按钮,但在此之前它没有。似乎MPVolumeView控制某些系统范围AudioSession的音量,但是当我开

ios - 如何在 IOS Audio Unit Framework 中设置 pan

你好堆栈溢出用户,我想在我的IOS应用程序中使用UISlided更改平移位置。我正在升级目前正在使用MattGallagher的AudioStreamer的整个应用程序要更改AudioStreamer中的声像值,请使用以下代码。AudioQueueRef音频队列;//在AudioStreamer.h文件中定义-(void)changePan:(float)newPan{OSStatuspanErr=AudioQueueSetParameter(audioQueue,kAudioQueueParam_Pan,newPan);NSLog(@"settingpan:%ld",panErr);