java ios中无法播放_iOS - 无法在后台播放声音

我正在尝试实现一个类似闹钟的系统,以便在事件发生时提醒手机(在我的情况下是蓝牙事件) . 即使手机处于静音和后台,我也希望发出此警报 .

我创建了一个本地通知,但如果手机处于静音模式,我就无法播放声音(这似乎是正常的,因为我们将手机置于静音状态) .

所以我试图自己管理声音,我正在努力在背景中播放声音 . 到目前为止,我在我的plist中实现了“App播放音频或使用AirPlay传输音频/视频”键,我正在使用此代码 .

AVAudioSession *audioSession = [AVAudioSession sharedInstance];

NSError *error = nil;

BOOL result = [audioSession setActive:YES error:&error];

if ( ! result && error) {

NSLog(@"Error For AudioSession Activation: %@", error);

}

error = nil;

result = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&error];

if ( ! result && error) {

NSLog(@"Error For AudioSession Category: %@", error);

}

if (player == nil) {

NSString *path = [[NSBundle mainBundle] pathForResource:@"bell" ofType:@"wav"];

NSURL *url = [NSURL fileURLWithPath:path];

NSError *err = nil;

player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];

if(err)

{

NSLog(@"Error Player == %@", err);

}

else {

NSLog(@"Play ready");

}

}

[player prepareToPlay];

[player setVolume:1.0];

if([player play])

{

NSLog(@"YAY sound");

}

else {

NSLog(@"Error sound");

}

即使在静音模式下,声音在前景中也很有效,但在背景中我根本没有声音 . 有任何想法吗 ?

谢谢

EDIT :最后我使用了上面的代码 . 唯一缺失的一点是,我试图播放声音有点似乎是一个不同的线程,当我在我的蓝牙事件中播放它而不是我的函数调用它的工作 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值