- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当调用AudioServicesPlaySystemSound时,它会很好地播放之前创建的SystemSound。但是当我之后直接调用 AudioServicesDisposeSystemSoundID 时,没有播放声音。似乎声音资源在播放之前就被处理掉了。
但是在 this Stackoverflow-Question人们说,有必要处理 System-Sound 以避免内存泄漏。
这两种方法的正确方法是怎样的?我应该在几秒钟后用计时器调用 Dispose-Method 吗?或者创建一个单例,在第一次调用 Play-Method 时创建一次声音资源,并在单例的 dealloc 中处理资源?
- (void) playSound {
NSURL *url = [[NSBundle mainBundle] URLForResource: @"SentMessage"
withExtension: @"wav"];
SystemSoundID mBeep;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &mBeep );
AudioServicesPlaySystemSound(mBeep);
AudioServicesDisposeSystemSoundID(mBeep);
}
最佳答案
您可以使用 AudioServicesAddSystemSoundCompletion
注册一个回调,以便在您的声音播放完毕时调用。您可以在那里处理系统声音。
或者在你类(class)的dealloc
中。
关于iOS 8 : AudioServicesPlaySystemSound is not playing Sound when AudioServicesDisposeSystemSoundID is called afterwards,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29614179/
我正在使用 AudioServicesPlaySystemSound(soundID); 播放声音,但我需要知道声音何时停止播放,那么这个委托(delegate)是什么? 谢谢! 最佳答案 你读过do
我的 AudioServicesPlaySystemSound 出现这种不稳定的行为。 出于某种原因,在我的(真实设备)iPhone 5/6 上一切正常。但有时在我的(真实设备)iPhone 6+S
我正在开发一个自定义闹钟应用程序,希望在闹钟响起后立即在我的应用程序中使用振动,我已经使用了 AudioToolbox 并使用了以下代码: AudioServicesPlayAlertSound(Sy
将对 AudioServicesPlaySystemSound 的调用放入队列以避免阻塞主线程是否被认为是好的做法?这是人们做的事情吗? 最佳答案 我问自己同样的问题,并用于将此调用置于后台线程中。真
这个问题在这里已经有了答案: Playing system sound without importing your own (11 个答案) 关闭 9 年前。 这只是我脑海中浮现的一个问题,但有谁
自 iOS3 以来,我的应用程序中就有此代码,并且一直在运行。据我所知,这些库在 iOS8 中根本没有改变,但在 iOS8 中不起作用。它不会崩溃或任何事情,它只是从不播放声音效果。 有什么想法吗?
我正在编写一个闹钟应用程序,我需要让用户选择唤醒的铃声。我有一个 UITableView,其中包含我的声音列表,当用户点击我想要播放的声音时。 但是,我的声音不会播放,除非我越过对 AudioServ
我正在开发录音应用程序,我想在录音开始时播放声音。 不幸的是,从 iOS 5 开始,当带有音频设备的 AVCaptureSession 处于事件状态时,似乎无法播放系统声音。 这是我正在使用的代码的相
有没有办法取消、暂停或停止通过调用 AudioServicesPlaySystemSound() 开始播放的声音? 最佳答案 不幸的是,您不能 - 顾名思义,它旨在播放用于系统警报的声音,您不需要控制
我正在使用 AudioToolBox 播放一个小的 .wav 文件。 AudioServicesPlaySystemSound (soundFileObject); 但有时不播放。 这是什么原因? 最
我正处于开发我的第一个 iPad 应用程序的早期阶段,为了简单起见,到目前为止我一直在使用 AudioServicesPlaySystemSound 和相关的函数来播放声音。我的代码基于 Apple
我正在使用 AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); 如何选择振动的持续时间? 我只想要一次短暂的振动,例如敲击键盘按钮时发出的“咔哒”
我需要我的软件等到声音完全播放后再继续。我有很多声音需要开发,所以使用回调方法会花费很多开发时间。 有没有办法在不使用回调方法的情况下调用 AudioServicesPlaySystemSound 并
我在代码中先导入AudioToolbox,然后再AudioServicesPlaySystemSound(1336)来播放系统声音。它可以工作,但也会振动,这是不需要的。为什么会振动?我怎样才能做到不
在我的应用程序中,我使用 AudioServicesPlaySystemSound 来播放小的 caf 文件。在 iPhone 上运行我的应用程序并通过横向按钮更改音量时,应用程序的声音会发生变化 也
我们有一款游戏即将发布,但我们遇到了一个非常烦人的问题。我们的 Beta 测试人员手机之一,他听不到任何游戏音效。然而,他可以很好地听到背景音乐和标题屏幕音乐。 背景音乐和标题音乐都通过 AVAudi
extension AppDelegate : UNUserNotificationCenterDelegate { // Receive displayed notifications for iO
我的 iOS 应用程序中的 AudioServicesPlaySystemSound 有问题。 我定义了一个播放系统声音的方法。当我从 viewDidLoad 调用该方法时,我可以听到声音播放,但是当
我正在阅读关于堆栈溢出的这篇关于使用 AudioServicesPlaySystemSound 一次播放一个声音的帖子。 stop sound in iPhone 我遇到了同样的问题,使用以下代码,当
我正在使用适用于 iPhone 的读卡器,我需要在插入读卡器时播放声音。由于一些其他问题,我使用了 AudioServicesPlaySystemSound。但是当读卡器插入时,声音不会通过扬声器播放
我是一名优秀的程序员,十分优秀!