音频在后台播放但没有声音Cordova 3+ IOS

时间:2014-05-19 07:55:56

标签: ios html5 audio cordova background-audio

我正在播放一个mp3文件。我用过cordova 3+ 我正在使用

snd = new Media(source,onSuccess,onplayError,mediaStatus);
snd.setVolume(current_volume);                      
snd.play();

一切顺利。然后我在 info.plist

中设置它们
Application does not run in background - NO
Required background modes:
Item0 - Audio...............etc.

然后我尝试了这个

if ([resourceURL isFileURL]) {
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    audioFile.player = [[ AVAudioPlayer alloc ] initWithContentsOfURL:resourceURL error:&error];
} else {
    NSData* data = [NSData dataWithContentsOfURL:resourceURL];
    audioFile.player = [[ AVAudioPlayer alloc ] initWithData:data error:&error];
}

可在此处找到http://www.joeldare.com/wiki/play_an_mp3_audio_stream_in_phonegap

虽然我发现sound.m文件不在那里描述。我在插件文件夹中找到了该文件。而这些线条接近第一行。 363

然后我尝试播放音频。接下来我按下主页按钮。 iphone仿真器没有声音。之后,我再次预览了应用程序图标,app ui来到前面,可以听到声音,好像它一直在播放。意味着我在按下主页按钮1分钟后按下了应用程序图标,然后当前正在播放1分钟的歌曲。所以歌曲实际上正在播放,但在按下主页键后的那段时间内听不到声音。希望我能正确解释。

任何人都可以告诉我我错过了什么吗?即使在按下主页键或手机被锁定或显示器关闭后,我仍希望听到声音。请帮助.......

同样如果我使用html5音频播放器,我应该怎样处理这个“主页按键”问题,以便在最小化后播放音频?

1 个答案:

答案 0 :(得分:1)

首先,做那些我写的问题。然后将AVFoundation导入AppDelegate.m #import <AVFoundation/AVFoundation.h>

然后将以下内容添加到application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];

从这里找到https://github.com/devgeeks/ExampleHTML5AudioStreaming

并且

  

在真实设备中测试,而不是在模拟器中测试。背景音频不工作   有模拟器。