【问题标题】:UILocalNotification play sound from app documentsUILocalNotification 从应用文档播放声音
【发布时间】:2011-10-26 14:36:24
【问题描述】:

我知道UILocalNotification 仅支持来自应用程序包的soundName,但我看到程序在通知中播放我录制的声音,即使程序已关闭。如何实施?任何想法对我来说都很重要..

【问题讨论】:

  • ../Documents/sound.caf 方法曾经可以工作,但我认为它可能在 iOS 6 beta 中被破坏。其他开发人员可以验证吗?如果可以的话,我会留下这个作为评论。
  • 遇到同样的问题,你能解决这个问题吗?我知道这个线程已有几年的历史,但也许您可以提供一些见解。谢谢!

标签: ios objective-c cocoa-touch uilocalnotification


【解决方案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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    相关资源
    最近更新 更多