问题标签 [audiotoolbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
541 浏览

iphone - 在 iphone 应用程序中运行 3/4 后背景音乐停止

我在我的应用程序中循环播放声音。所以它应该在整个应用程序中继续播放。但有时它会在播放 3/4 次声音后停止。我不明白发生了什么。我正在使用音频工具箱框架来播放声音。创建音频队列,然后循环播放声音。我也在使用媒体播放器从 ipod 库中播放声音。来自 ipod 的歌曲也发生了同样的事情。我已经设置了 [musicPlayer setRepeatMode: MPMusicRepeatModeOne]; 但它仍然在 3/4 次后停止。

0 投票
1 回答
1594 浏览

iphone - Playing wav files with AudioServices in iPhone

I am trying to play two .wav files in my appllication, but i am only able to play the first wav file , the second file is not at all playing.

I have added the AudioToolbox framework. In my .h file i have included the Audiotoolbox.h file and has the following declarations

In my .m file i am registering both the wav files as following

And i have written two methods for playing each file individually.

But i am only able to play the Beep sound , but not the second sound wav file.

What is the error ???

Thanks

0 投票
6 回答
10235 浏览

objective-c - AudioServicesPlaySystemSound 不播放声音

我正在使用 AudioToolBox 播放一个小的 .wav 文件。

但有时它不播放。

是什么原因?

0 投票
1 回答
1413 浏览

iphone - 每次新分配后,AVAudioPlayer 不会卸载缓存的内存

我在 Instruments 中看到,当我通过 Apple 提供的标准“AddMusic”示例方法播放声音时,每次分配新播放器时prepareToPlay(即每次播放不同的声音)。但是,缓存的数据永远不会被释放。AudioToolBoxCache_DataSource::ReadBytes

如果它没有被释放并且你有很多声音文件要播放,这显然会带来一个巨大的问题,因为如果你有足够的独特声音文件(不幸的是我这样做),它往往会不断分配内存并最终崩溃。

你们中是否有人遇到过这个问题,或者我在代码中做错了什么?这个问题我已经有一段时间了,这真的让我很烦恼,因为我的代码是苹果的逐字记录(我认为)。

我如何调用函数:

然后在当然的方法中theAudio被释放。dealloc

0 投票
1 回答
3216 浏览

iphone - iphone:音频工具箱泄漏帮助:此处包含堆栈跟踪/代码

这个应用程序的一部分是一个“尖叫”按钮,可以播放来自电视节目演员的随机尖叫声。我必须在应用程序上敲打一段时间才能看到 Instruments 中的内存泄漏,但它就在那里,偶尔会出现(每 45 秒到 2 分钟一次)。泄漏发生时为 3.50kb。好几个小时都打不开。任何帮助表示赞赏。

Instruments 说这是有问题的代码行:

链接到以下堆栈跟踪的第 9 行:

0 libSystem.B.dylib malloc
1 libSystem.B.dylib pthread_create
2 AudioToolbox CAPThread::Start()
3 AudioToolbox GenericRunLoopThread::Start()
4 AudioToolbox AudioQueueNew(bool, AudioStreamBasicDescription const*, TCACallback const&, CACallbackTarget const&, unsigned long, OpaqueAudioQueue **)
5 AudioToolbox AudioQueueNewOutput
6 AVFoundation allocAudioQueue(AVAudioPlayer*, AudioPlayerImpl*)
7 AVFoundation prepareToPlayQueue(AVAudioPlayer*, AudioPlayerImpl*)
8 AVFoundation -[AVAudioPlayer prepareToPlay]
9 Scream Queens -[ScreamViewController 尖叫:] /Users/laptop2/Desktop/Scr​​eamQueens版本/ScreamQueens25/Scream Queens/Classes/../ScreamViewController.m:210
10 CoreFoundation -[NSObject performSelector:withObject:withObject:]
11 UIKit -[UIApplication sendAction:to:from:forEvent:]
12 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:]
13 UIKit -[UIControl sendAction:to:forEvent :]
14 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:]
15 UIKit -[UIControl touchesEnded:withEvent:]
16 UIKit -[UIWindow _sendTouchesForEvent:]
17 UIKit -[UIWindow sendEvent:]
18 UIKit -[UIApplication sendEvent:]
19 UIKit _UIApplicationHandleEvent
20 GraphicsServices PurpleEventCallback
21 CoreFoundation CFRunLoopRunSpecific
22 CoreFoundation CFRunLoopRunInMode
23 GraphicsServices GSEventRunModal
24 UIKit -[UIApplication_run]
25 UIKit UIApplicationMain
26 Scream Queens main /Users/laptop2/Desktop/Scr​​eamQueens Versions/ScreamQueens25/Scream Queens/main.m:14
27 Scream Queens start

这是.h:

这是.m的顶部:

下一行以有问题的代码开始该块:

这是我的dealloc:

非常感谢您阅读本文!任何输入表示赞赏。

0 投票
1 回答
747 浏览

iphone - 使用 AudioToolKit 的简单音效循环

我创建了一些声音用于我的游戏。我可以在某些活动中毫无问题地播放它们:

该游戏有一种机制,可让您摇动设备以激活某些功能。我已经完成了摇动代码,所以我的游戏会收到“摇动开始”和“摇动结束”的消息。我需要做的是在摇动开始时开始播放“shave.wav”并循环播放直到它停止。有没有办法用 AudioToolbox/AudioServices 做到这一点?如果没有,我怎么能这样做?

0 投票
2 回答
4083 浏览

audio - 如何在核心音频中选择音频输入设备?

我正在编写一个需要处理多个音频输入的程序。

我目前正在使用 AudioQueues 来获取输入,但这仅来自默认输入设备。

有没有办法:

  • 选择 AudioQueue 使用的输入设备。
  • 更改默认输入设备。

我知道我可以在 Core-Audio 中使用 kAudioHardwarePropertyDevices 来获取输出设备列表,是否有类似的设备可以用于输入设备?

0 投票
2 回答
1221 浏览

iphone - 如何制作 SystemSoundID 数组?使用 AudioToolbox 框架

我习惯于创造这样的声音:

其中explosion1a 和explosion1b 是在.h 文件中声明的实例变量:

每当我尝试在这样的数组中进行此过程时

我收到警告:

如果我在 addObject 参数中的 Plaslaunch1 之前放置 & 符号,我会得到一个

我正在尝试创建一组声音效果,以后可以通过调用来播放:

关于如何使这项工作(或解决此问题的更好方法)的建议表示赞赏!

0 投票
1 回答
347 浏览

iphone - 如何解决这个涉及缺少 i386 架构文件的构建警告?

我收到以下构建警告:

我该如何解决?

0 投票
1 回答
2348 浏览

iphone - 将 iphone 中录制的声音从一种格式转换为另一种格式,例如 wav 到 mp3

我正在尝试录制一些音频并将它们转换为其他声音格式。我正在使用 AVAudioRecorder 类进行录制,这些是我使用的录制设置..

录音效果很好。现在我想将此声音文件转换为 mp3 格式。我可以用 AudioToolBox 框架做到这一点吗?我试过这个

函数 AudioConverterNew() 给我错误 kAudioConverterErr_FormatNotSupported ('fmt')。我尝试了不同的 mFormatID 和 mFormatFlag 组合。但是,只要其中一个操作(源或目标)是 mp3,我就会收到此错误。现在请帮我解决这些问题。

  1. 我们可以使用AudioToolbox框架和函数在压缩和非压缩格式之间转换声音(目前我想在.wav和.mp3之间转换)。在 AudioConverterNew 文档中,他们说“支持线性 PCM 和压缩格式之间的编码和解码”。但他们并没有具体说明哪些压缩格式。

  2. 如果问题 1 的答案是“否”,那么我需要使用哪个框架在上述格式之间转换声音?

  3. 与上述 2 无关,但任何人都可以给我一个链接到任何网站的链接,其中包含有关不同声音格式(wav、mp3、aac 等)及其数字表示(cpm、lpcm 等)的信息,以便我了解哪个使用什么。