我想制作一个应用程序,当iPhone处于静音模式时,它可以产生声音、音乐或系统声音.在静音模式下,是否可以播放任何类型的声音,无论是音乐还是系统铃声?

推荐答案

这是不明智的,但我凭什么说你做不到呢.你可能有充分的理由去演奏声音.

如果你正在使用音频会话,那么在文件开头加上<AVFoundation/AVFoundation.h>,然后

[[AVAudioSession sharedInstance]
                setCategory: AVAudioSessionCategoryPlayback
                      error: nil];

我们应该做到这一点.注意:如果播放音乐或声音,iPod播放将暂停.

完成后,可能在播放声音的某个类的初始化过程中,您可以实例化如下声音:

// probably an instance variable: AVAudioPlayer *player;
NSString *path = [[NSBundle mainBundle] pathForResource...];
NSURL *url = [NSURL fileURLWithPath:path];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url];

完成后,您可以随时使用它:

[player play]; // Play the sound
[player pause]; // Pause the sound halfway through playing
player.currentTime += 10 // skip forward 10 seconds
player.duration // Get the duration

还有其他好东西.查阅AVAudioPlayer级参考资料.

Objective-c相关问答推荐

为什么当我使其处于非活动状态时,弱 IBOutlet NSLayoutConstraint 变为 nil?

如何修复“UIPopoverController 已弃用”警告?

iOS是静态框架还是动态框架?

为什么 requestWhenInUseAuthorization 不提示用户访问该位置?

如果用户禁用了应用程序的推送,是否可以进行静默远程通知?

如何在基于块的 API 方法中使用非空和可为空的 Objective-C 关键字

从 UITabBarController 在当前上下文中呈现模态视图控制器后出现黑屏

如何获取目标名称?

无法在导航栏中心设置titleView,因为返回按钮

在 iOS 8 中使用 NSMutableAttributedString 的字符串的下划线部分不起作用

在 iOS8 上,以横向模式显示我的应用程序会隐藏状态栏,但在 iOS 7 上,状态栏会同时显示在两个方向上

UIViewController 的 prefersStatusBarHidden 不起作用

Facebook 添加测试用户和管理员是:(待定),这是什么意思?

警告:格式字符串不是字符串文字(可能不安全)

选择 UITableViewCell 时如何进行推送

UIScreen MainScreen Bounds 返回错误的大小

将 NSNumber 转换为 NSDecimalNumber

Core Text在iOS中计算字母框架

围绕其中心旋转 UIView 保持其大小

以编程方式设置 UIView 的自动调整大小掩码?