问题标签 [avaudioplayer]
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.
ios - 降低 iPod 音量以播放应用声音(如原生 SMS 应用)
我制作了一个 iPhone 应用程序,可以在锻炼时使用。它会发出铃声,表示您(用户)应该从锻炼程序的一个步骤切换到下一步。我设计了该应用程序,以便您在使用该应用程序时可以在 iPod 上听音乐,并且我希望在音乐上播放的音调足够清晰。我已经得到了这个工作......有点......
当音乐响亮时,很难听到音调。我的理想解决方案类似于 iPod 应用程序处理传入的文本消息或电子邮件的方式。音乐音量降低,声音播放,然后音乐音量逐渐减弱。
以下是我迄今为止尝试过的方法:
我以前
AudioServicesPlaySystemSound
玩的声音。我像这样初始化声音:
我在适当的时间使用以下方法播放声音:
这可以很好地播放声音,但是在嘈杂的音乐中很难听到。继续尝试 2...
我尝试降低 iPod 的音量,播放声音,然后将音量恢复到之前的水平。
如果当前步骤还剩 1 秒,请开始降低音量:
这是
fadeVolumeOut:
方法:然后,当该步骤结束时,播放警报声并将音量淡入:
这是
alertAndFadeVolumeIn
方法:并且
fadeVolumeIn:
基本上与fadeVolumeOut:
上述相反。这有效,音量淡出,声音播放,然后音量淡入。问题是音量降低了与 iPod 相同的量,所以它不会让听音乐变得更容易.
我切换到
AVAudioSession
播放声音,并设置会话,以便在使用应用程序时继续播放 iPod 音乐。这是我初始化会话的方式:为了播放声音,我
[self.player play]
会在适当的时候打电话。再次,音量随着 iPod 音量的降低而降低,并且音调不再容易听到。我试着
[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0f];
在警报声响起之前把它放好。这有好坏参半的结果。第一次声音像我希望的那样以最大音量播放,但随后的音量要低得多。此外,音乐不会顺利淡出。似乎iPodMusicPlayer
并且applicationMusicPlayer
正在共享相同的卷。这是使用的结果[AVAudioSession sharedInstance];
吗?有没有另一种方法来初始化一个AVAudioSession
?接下来,我尝试使用
AVAudioSession
“闪避”:不幸的是,当音频会话被激活时,iPod 音乐会“躲避”,这是在 viewController 以我的方式加载后立即出现的。
最后,我更改了我的代码,以便在步骤结束前一秒激活音频会话,在步骤结束时播放声音,一秒后停用会话。此时我已经删除了所有的淡入淡出代码。以下是相关的代码片段:
...
...
这将我带到了我真正陷入困境的地步。这在第一步结束后完美运行。iPod 音量降低,声音响亮,然后 iPod 音量在一秒钟后逐渐减弱。然而,第二次踏步结束时声音会稍微小一些,第三次几乎听不见,第四次无声。然后,第五次,它再次大声播放,循环重复。
最重要的是,激活和停用似乎是相当繁重的操作,它们会导致计时器略微卡顿。
有没有人试图做类似的事情?有没有首选的方法来通过 iPod 音乐播放声音?
ios-simulator - 关于 MPMusicPlayerController 和 AVAudioPlayer 在 iPhoneSimulator 中是否有效?
从(iPhone) 我可以使用调度程序执行 AudioServicesPlaySystemSound 循环吗?
MPMusicPlayerController 不起作用,因为它是关于 iPod 音乐库的,我无法向其中添加音乐文件,因为我正在玩 iPhone 游戏并且不与外部 iPod 库交互。
AVAudioPlayer 可以在 iPhoneSimulator 中使用吗?
iphone - 在屏幕锁定时停止播放 AVAudioSession
我在 AVAudioSessionCategoryPlayback 类别下有一个 AVAudioSession。我需要能够在屏幕锁定时停止或暂停播放。有什么办法可以做到这一点?
到目前为止,唯一会中断我的音频会话的是来电。
提前致谢!
iphone - iPhone:如何在特定时间播放声音?
我写了以下代码:
我想播放音频文件而不是振动 iPhone。那可能吗?
iphone - 如何调试 AVAudioPlayer 播放失败?
我正在使用 AVAudioPlayer 从我的应用程序的 Documents 目录中播放单声道 AIFF 文件。
在模拟器上,[player play] 返回 YES,我听到文件正在播放。在设备上,播放方法返回 NO 并且没有任何反应。我通过 Organizer 抓取了该文件——它在我的 Mac 上可以正常播放,而且格式似乎很好。我意识到模拟器可以访问 iPhone 上不可用的编解码器,但在这种情况下应该没关系,不是吗?
我不知道如何调试它。有什么建议么?
iphone - 在 iphone sdk 上播放 mp3?
我可以让音频正常播放,但是如何制作一个停止音频的按钮?
iphone - iPhone:AVAudioPlayer/NSURL 内存管理
几分钟前我发布了一个更长的问题,并且通常我一发布它就知道发生了什么,所以我删除了它,因为大部分帖子都无关紧要。然后我回到谷歌。
事实证明,我遇到了与这篇文章中描述的几乎完全相同的问题,从 6 月开始没有得到答复。http://www.iphonedevsdk.com/forum/iphone-sdk-development/20975-avaudioplayer-nsurl-memory-management.html
总之:我正在使用 AVAudioPlayer 并使用 audioPlayerDidFinishPlaying:successfully: 委托方法发布它。初始化播放器后,需要释放其关联的 NSURL 对象,否则会泄漏。但是当我在初始化播放器后释放它时,它会崩溃,因为它已经被释放了。奇怪的是它并不总是第一次崩溃,大多数时候它在播放第二个声音后就崩溃了。有时(很少)它会允许少数或玩家在崩溃之前被分配/释放(我在释放后重用指针)。有什么帮助吗?
代码片段:(soundKeyUp 是一个 AVAudioPlayer* 类变量,因此这里没有声明)
对 Steve Riggins 的回应:如前所述,它的诀窍在于它不会每次都同时崩溃。它几乎总是第一次正确释放(或者至少它不会崩溃或泄漏),但通常在我第二次分配/释放播放器和 URL 之后,它在释放 URL 时崩溃。有时,它会在崩溃之前运行 3、4、5 次以上,但它总是如此。
objective-c - 查明 AVAudioPlayer 是否在函数内完成播放
如何确定 AVAudioPlayer 是否在函数内完成了声音的播放?
ios - MP3播放和停止问题?
这段代码工作正常,直到我退出视图并尝试回到它。如果我这样做,停止按钮将不再起作用。离开视图后如何让它仍然工作?
iphone - AVAudioPlayer initialization error 1685348671. How to check whether file is valid?
I am using AVAudioPlayer to play some ima4 files. The initialization of the player keeps failing with error code 1685348671 (dta) which according to the documentation means
The file is malformed, not a valid instance of an audio file of its type, or not recognized as an audio file. Available in iPhone OS 2.0 and later.
What I don't understand is how the files are invalid or malformed when I can play them with QuickTime? Can the file still be malformed? How can I check whether an ima4 file is valid or not?
Thanks.