UILocalNotification 从应用文档播放声音
Posted
技术标签:
【中文标题】UILocalNotification 从应用文档播放声音【英文标题】:UILocalNotification play sound from app documents 【发布时间】:2011-10-26 14:36:24 【问题描述】:我知道UILocalNotification
仅支持来自应用程序包的soundName
,但我看到程序在通知中播放我录制的声音,即使程序已关闭。如何实施?任何想法对我来说都很重要..
【问题讨论】:
../Documents/sound.caf 方法曾经可以工作,但我认为它可能在 ios 6 beta 中被破坏。其他开发人员可以验证吗?如果可以的话,我会留下这个作为评论。 遇到同样的问题,你能解决这个问题吗?我知道这个线程已有几年的历史,但也许您可以提供一些见解。谢谢! 【参考方案1】:获得NSURL
到应用程序文档目录的可靠方法是这样的......
NSURL *documentsDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
然后您可以像这样获得对您的声音文件的NSURL
引用...
NSURL *soundURL = [documentsDirectoryURL URLByAppendingPathComponent:@"sound.caf"];
如果您需要该 URL 处资源路径的字符串表示形式,您可以像这样获取它...
NSString *pathRepresentation = [soundURL absoluteString];
【讨论】:
嗨,马克,我试过了,但它在我的应用程序中不起作用?我在文档目录中记录了 .m4a 文件。还有其他需要注意的吗? 嗨@Meghan,如果我没记错的话,文件需要是.caf 才能作为短音播放。以下是有关转换音频文件以在 iOS 上使用的更多信息。 gamua.com/blog/2010/06/sound-on-ios-best-practices 我已经测试了 m4a 文件包,但我的问题是我在文档目录中有一个文件,我想将它设置为 UILocalnotification 声音。【参考方案2】:我检查了下一个方法在 ios 5.0.1 上的工作:
像这样设置相对路径
notify.soundName = @"../Documents/blabla.caf"
【讨论】:
以上是关于UILocalNotification 从应用文档播放声音的主要内容,如果未能解决你的问题,请参考以下文章
UILocalNotification 触发时自动将应用程序从后台带到前台?
应用被 UILocalNotification 唤醒(激活)
从后台杀死应用程序后 UILocalnotification 不起作用
从 UILocalNotification 打开应用程序时转到视图控制器
iOS8 - UILocalNotification,稍后从代码中检查权限
从 iPad 删除应用程序时如何删除 UILocalNotification applicationIconBadgeNumber?