2013-07-26 2 views
0

Я использую класс Media phonegap для передачи аудио с URL-адреса, который является адресом URL-адреса с портом. На андроиде работает нормально, звук воспроизводится. На iOS не играет, и я не знаю почему. Может ли кто-нибудь сказать мне, что я делаю неправильно? Вот функция моей потоковой передачи.Phonegap Media Streaming не работает на iOS

function playAudio(src) { 
    // Create Media object from src 
    setAudioPosition("Please wait..."); 
    my_media = new Media(src, onSuccess, onError); 

    // Play audio 
    myMedia.play({ playAudioWhenScreenIsLocked : false }) 
    $('.jp-play').hide(); 
    $('.jp-pause').show(); 
    // Update my_media position every second 
    if (mediaTimer == null) { 
     mediaTimer = setInterval(function() { 
      // get my_media position 
      my_media.getCurrentPosition(
       // success callback 
       function(position) { 
        if (position > -1) { 
         setAudioPosition("Playing"); 
        } 
       }, 
       // error callback 
       function(e) { 
        console.log("Error getting pos=" + e); 
        setAudioPosition("Error: " + e); 
       } 
      ); 
     }, 1000); 
    } 
} 

На XML проекта я добавил IP-сервера в белый список, но снова не работает. Как я могу это исправить?

ответ

-1

была такая же проблема месяцев назад, PhoneGap игрок не работал над КСН, но это было на андроид, какой же должен был сделать мой игрок родной (Цель СССР c) и назовите его формой со стороны телефона (javascript).

по Создание плагин для

- (void)play:(CDVInvokedUrlCommand *)command{ 

NSString* scr = [command.arguments objectAtIndex:0]; 

CDVPluginResult* pluginResult = nil; 
NSString* javaScript = nil; 

@try { 

    if (scr != nil) { 

     if (player.isPreparedToPlay) { 


      player.contentURL = [NSURL URLWithString:scr]; 
      [player play]; 

     }else { 


      MPMoviePlayerController* objplayer =[[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:scr]]; 

      self.player = objplayer; 
      [self.player prepareToPlay]; 

      player.movieSourceType = MPMovieSourceTypeStreaming; 
      player.view.hidden = YES; 
      player.useApplicationAudioSession = YES; 
      [player play]; 


     } 
     pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK]; 
     javaScript = [pluginResult toSuccessCallbackString:@"respuesta"]; 
    } 
} @catch (id exception) { 
    pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]]; 
    javaScript = [pluginResult toErrorCallbackString:@"respuesta con error"]; 
} 

[self writeJavascript:javaScript]; 
} 

После этого, вы вызвать плагин в config.xml

затем в вашем JavaScript

Cordova.exec(null, null, "playMusic", "Play", [url,url]); 
Смежные вопросы