Tag: audio

通过Spotify iOS SDK获取pcmaudio进行可视化

我们目前正在考虑将我们已经存在多年的音乐可视化软件join到iOS应用程序中,通过新的iOS Spotify SDK来播放音乐,请查看http://soundspectrum.com来查看我们的视觉效果,例如G-Force和永旺。 无论如何,我们已经将Spotify iOS SDK中的演示项目全部启动并运行,并且看起来不错,但向前迈进的主要一步是访问audiopcm,以便将其发送到我们的视觉引擎等。 Spotify的开发者或者知情的人可以提供一些可能性来获得pcmaudio吗? audioPCM模块可以像最近几千个样本(我们将用于FFT等)的循环缓冲区一样简单。 提前致谢!

如何在点击自定义键盘button时播放声音

我一直在为iOS 8制作一个自定义键盘,一切都很顺利,但是我仍然无法摆脱这种敲击声。 我search这个问题的高低,并尝试了几种方法,包括 使用AudioToolbox 使用AVFoundation 将tock.caf放入我的包中,然后播放它 其中一些在模拟器中工作,但是没有一个在我的设备中工作。 任何一个在自定义键盘按键上敲击都能成功播放声音的人都会在意分享一些工作代码吗? 如果代码可以遵守声音设置,那么这是最好的。

如何使用kAudioSessionProperty_OverrideCategoryMixWithOthers

我想让我的虚拟乐器应用程序能够在应用程序处于后台时使用(通过MIDI键盘)。 这工作正常通过设置UIBackgroundModes为“audio”,并将AudioSessions的类别设置为AVAudioSessionCategoryPlayback。 此外,为了允许与音乐播放器应用程序混合,我设置属性kAudioSessionProperty_OverrideCategoryMixWithOthers。 为了节约电池能量,build议在不需要的时候让用户关掉后台操作。 所以在我的应用程序中有一个开关在类别AVAudioSessionCategoryAmbient和类别AVAudioSessionCategoryPlayback(与kAudioSessionProperty_OverrideCategoryMixWithOthers)之间切换。 代码是这样的(error handling省略): NSString *category = supportsBackgroundOperation ? AVAudioSessionCategoryPlayback : AVAudioSessionCategoryAmbient; [session setCategory:category error:nil]; if (category == AVAudioSessionCategoryPlayback) { UInt32 allowMixing = true; AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(allowMixing), &allowMixing); } 现在的问题是:假设音乐应用程序正在后台播放。 用户正在前台(通过MIDI键盘)弹奏虚拟乐器以伴随音乐播放器,并决定开始另一个应用程序,比如幻灯片放映,以欣赏为什么要弹奏乐器。 所以他/她进入我的应用程序的设置视图,并激活后台操作。 然后执行上面的代码。 繁荣,音乐应用程序得到沉默。 据我所知,kAudioSessionProperty_OverrideCategoryMixWithOthers属性只能在设置类别后设置,但是当我将类别设置为AVAudioSessionCategoryPlayback时,在我有机会设置kAudioSessionProperty_OverrideCategoryMixWithOthers之前,音乐播放器会被系统消音。 这是否发生? 有什么可以做的吗? 我试图在更改类别之前/之后禁用/激活会话,但这会导致其他问题。 马库斯

播放Apple Watch扬声器的声音

有没有办法播放Apple Watch扬声器的声音? 我一直无法在网上find任何文件。

如何在iOS上使用AVAssetReader正确读取已解码的PCM样本 – 目前解码不正确

我目前正在从事计算机科学学士学位的申请工作。 该应用程序将关联来自iPhone硬件(加速度计,GPS)和正在播放的音乐的数据。 这个项目还处于起步阶段,只有2个月的时间。 我现在正需要帮助的时刻,是从iTunes库中的歌曲中读取PCM样本,并使用audio单元进行播放。 目前我想工作的实现如下:从iTunes中随机select一首歌曲,并在需要时从中读取样本,并存储在缓冲区中,让我们称之为sampleBuffer。 稍后在消费者模型中,audio单元(具有混音器和remoteIO输出)具有callback,我只需将sampleBuffer中所需的样本数复制到callback中指定的缓冲区中。 然后我通过扬声器听到的是不是我所期望的; 我可以认识到,它正在播放歌曲,但它似乎是不正确的解码,它有很多的噪音! 我附加了一个图像,显示了第一〜半秒(24576样本@ 44.1kHz),这不像一个正常的输出。 在我进入清单之前,我已经检查过这个文件没有被破坏,类似的,我写了缓冲区的testing用例(所以我知道缓冲区不会改变这个样本),尽pipe这可能不是最好的方法(有些人会主张走audio队列路线),我想对样本进行各种操作,并在完成之前更改歌曲,重新排列播放什么歌曲等。此外,audio中可能存在一些不正确的设置单位,但是,显示样本(显示样本解码不正确)的graphics是从缓冲区中直接获取的,因此我现在只是在寻找解决为什么从磁盘读取和解码不能正常工作的原因。 现在我只想通过工作来玩游戏。 不能张贴图像,因为新的到stackoverflow所以inheritance人的形象的链接: http : //i.stack.imgur.com/RHjlv.jpg 清单: 这是我设置audioReadSettigns将用于AVAssetReaderAudioMixOutput // Set the read settings audioReadSettings = [[NSMutableDictionary alloc] init]; [audioReadSettings setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey]; [audioReadSettings setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; [audioReadSettings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey]; [audioReadSettings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey]; [audioReadSettings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsNonInterleaved]; [audioReadSettings setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 现在下面的代码清单是一个接收NSString和歌曲的persistant_id的方法: -(BOOL)setNextSongID:(NSString*)persistand_id { […]

我是否正确地将分贝从-120 – 0转换为0 – 120

我会喜欢测量周围的音量,不太确定我是否做正确的事情。 我想创build一个范围从0(安静)到120(非常嘈杂)的VU表。 我获得了峰值和平均功率,但是在正常的安静环境中非常高。 请给我一些指针。 – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //creating an audio CAF file in the temporary directory, this isn't ideal but it's the only way to get this class functioning (the temporary directory is erased once the app quits). Here we […]

MPMediaItem和iTunes匹配

我有一个使用iPod Library API访问iOS中的歌曲数据库的应用程序。 随着iTunes Match的发布,任何不在设备上的歌曲都将无法加载。 有没有办法让我下载歌曲的请求? 也许使用新的iCloud API? 编辑:要清楚我不问如何使用iPhone下载iTunes Match的歌曲。 iOS SDK允许通过MPMediaQuery / MPMediaItems访问iPod库。 在具有iTunes Matchfunction的iOS设备上,通过MPMediaQuery返回在您的iTunes匹配库中但不在设备上的本地歌曲,但MPMediaItems的“可导出”标志设置为false。 当我在音乐应用程序中访问这些歌曲时,它们会自动下载。 我想通过MPMediaItem触发相同的自动下载。 我已经看到iTunes Match中的项目被评为iCloud的一部分,iOS 5 SDK中有一个新的iCloud部分。 但据我所知,我只能得到数据我的应用程序上传。 我希望通过MPMediaItem或通过iCloud使用URL触发iTunes Match下载。

如何将iPod库中的歌曲复制到应用程序并使用AVAudioPlayer播放?

虽然重复,但我想播放使用AVAudioPlayer从iPod库的歌曲。 那么复制iPod库歌曲之后是否可以复制到应用程序? 我有一个代码,将歌曲转换为caf格式,然后我可以使用AVAudioPlayer播放。 但转换时间太长。 那么还有其他方法可以做到吗?

如何将audio效果应用于文件并写入文件系统 – iOS

我正在构build一个应用程序,允许用户将audiofilter应用于录制的audio,如混响,增强。 我无法find有关如何将filter应用于文件本身的任何可行的信息源,因为需要稍后将处理的文件上载到服务器。 我目前正在使用AudioKit进行可视化,而且我知道它可以进行audio处理,但只能用于播放。 请提供进一步研究的build议。

NaN可能会导致这个核心audioiOS应用程序偶尔崩溃?

我的第一个应用程序使用自iOS 6以来不推荐使用的方法, 从正弦查找表中合成音乐audio 。我刚刚修改了它,以解决由此博客和Apple基于AVFoundationFramework指南的AudioSession有关的警告。 audio会话警告现在已经解决,应用程序产生的audio像以前一样。 它目前运行在iOS 9下。 然而,应用程序偶尔崩溃没有明显的原因。 我检查了这个SOpost,但它似乎处理访问而不是生成原始audio数据,所以也许它不是处理时间问题。 我怀疑有一个缓冲的问题,但我需要了解这可能是在我更改或微调代码中的任何东西之前。 我有一个截止date,使修改后的应用程序可以提供给用户,所以我非常感谢来自处理类似问题的人。 这是问题。 该应用程序进入模拟器报告debugging: com.apple.coreaudio.AQClient (8):EXC_BAD_ACCESS (code=1, address=0xffffffff10626000) 在Debug Navigator的Thread 8( com.apple.coreaudio.AQClient (8) )中,它报告: 0 -[Synth fillBuffer:frames:] 1 -[PlayView audioBufferPlayer:fillBuffer:format:] 2 playCallback fillBuffer中的这一行代码被突出显示 float sineValue = (1.0f – b)*sine[a] + b*sine[c]; …这是audioBufferPlayer中的这一行代码 int packetsWritten = [synth fillBuffer:buffer->mAudioData frames:packetsPerBuffer]; …和playCallBack [player.delegate audioBufferPlayer:player fillBuffer:inBuffer format:player.audioFormat]; 这里是audioBufferPlayer的代码(代表,基本上和上面提到的demo一样)。 – (void)audioBufferPlayer:(AudioBufferPlayer*)audioBufferPlayer […]