2013-08-14 1 views
0

Оба Safari и Chrome на iPhone могут воспроизводить звук в фоновом режиме при посещении этой веб-страницы. Однако, когда вы пользуетесь UIWebView для посещения, нет бэкэнд-звука. Должны быть специальные настройки, чтобы заставить его работать.UIWebView не может воспроизводить звук при попадании в него с игрой url

Пробовал много онлайн-решений, таких как, но все еще не работает. Пожалуйста, помогите мне.

[[AVAudioSession sharedInstance] setDelegate:self]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[[AVAudioSession sharedInstance] setActive: YES error: nil]; 


_webView.allowsInlineMediaPlayback = YES; 
_webView.mediaPlaybackRequiresUserAction = NO;  

ответ

0

Извините, я не могу комментировать, поэтому я даю «ответ».

Вы пытались исправить ошибку?

NSError *error = nil; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error]; 
NSError *errorActive = nil; 
[[AVAudioSession sharedInstance] setActive: YES error:&errorActive]; 
+0

Да я сделал это возвращение всухую значение. –

0

Я попробовал этот код и он работает для меня надежду, так что будет работать для и

-(void)loadWebView:(UIWebView *)webView withUrl:(NSString *)urlString 
{ 
    AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
    BOOL ok; 
    NSError *setCategoryError = nil; 
    ok = [audioSession setCategory:AVAudioSessionCategoryPlayback 
          error:&setCategoryError]; 
    if (!ok) { 
     NSLog(@"setCategoryError=%@", setCategoryError); 
    } 

    webView.allowsInlineMediaPlayback = YES; 
    webView.mediaPlaybackRequiresUserAction = NO; 

    NSCharacterSet *characterSet = [NSCharacterSet URLQueryAllowedCharacterSet]; 
    NSString *encodedString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:characterSet]; 
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:encodedString]]]; 
}