2013-07-26 1 views
0

나는 phonegap의 Media 클래스를 사용하여 url의 형식이 포트의 IP 인 오디오를 스트리밍합니다. 안드로이드에서 잘 작동하고, 소리가 재생됩니다. iOS가 재생 중이 아니며 이유를 모르겠습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 내 스트리밍의 기능은 다음과 같습니다.Phonegap 미디어 스트리밍이 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

이 같은 문제 개월 전했다 동일한 문제가있는 것 모두에 대한 링크입니다 (Objetive을 폰갭 플레이어는 iOS에서 작동하지 않는하지만 안드로이드에서했던 내 선수 출신를 만들기 위해 무엇 이었는가 c) 전화 양식 (자바 스크립트) 양식을 호출합니다. 플러그인을 그 후

- (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의 플러그인을 호출

Cordova.exec(null, null, "playMusic", "Play", [url,url]); 
관련 문제