2016-05-10 7 views
0

は、私はそれは、シミュレータが、デバイス上のdoesntの仕事上の罰金果たしavplayerはデバイスではなくシミュレータでビデオを再生しますか?

avplayerviewcontroller avplayerと使用して、URLを介してビデオを再生すると問題が生じています。次のURLから

https://ipaddress(111.111.11.11:443)/mc/images/wall/small.mp4

同じビデオは、私が使用しています以下のコードデバイス

http://techslides.com/demos/sample-videos/small.mp4

に罰金果たしている - は、それは次のように私が使用している静的IPの問題です -

NSURL *url = [NSURL URLWithString:@"http://techslides.com/demos/sample-videos/small.mp4"];//@""];https://180.179.77.47:443/mc/images/wall/small.mp4 
    AVAsset *videoAsset = [AVAsset assetWithURL:url]; 

    AVPlayerItem *item = [AVPlayerItem playerItemWithAsset:videoAsset]; 
    playerVideo = [AVPlayer playerWithURL:url]; 
    [[AVAudioSession sharedInstance]setCategory:AVAudioSessionModeMoviePlayback error:nil]; 
    movieController = [[AVPlayerViewController alloc]init]; 
    [movieController setAllowsPictureInPicturePlayback:YES]; 
    movieController.player = playerVideo; 
    movieController.delegate = self; 
    movieController.videoGravity = AVLayerVideoGravityResizeAspectFill; 

    [self presentViewController:movieController animated:YES completion:nil]; 
+0

このリンクは役立ちますか? http://www.transcoding.dk/2012/09/22/making-ah-264-for-the-web-stream-instantly/ –

+0

あなたのローカル環境に最初のビデオがある場合は、それは外で再生されませんあなたのネットワーク。あなたのビデオがあなたの内部ネットワークにあるので、私は私のマシンで再生されていないリンクをクリックしようとすると。あなたのマシンがあなたの内部network.Thereに接続されているため、シミュレータを介してあなたのビデオを再生する場合は、avplayerとは関係ありません。あなたのデバイスがローカルネットワークに接続されていることを確認するか、uat環境でビデオを公開してit.Itをテストしてください。正常に動作します。 – Madhu

答えて

0

あなたのビデオとお使いのデバイスは同じネットワークを使用していないと思います。両方に共通のネットワークを使用するか、誰でもアクセスできるリモートの場所に配置します。

あなたのシステム(mac)がビデオが利用できる一般的なネットワークに接続されているので、シミュレータでビデオを再生できますが、私はあなたがモバイルネットワークに異なるネットワークを使用していると思います。これは:)

1

を助ける

希望私は前にしながらも、短い同じ問題に直面しますが、今、私のデバイスは、したがって、それは音なしでビデオを実行していたサイレントモード&にあったことが観察されました。

しかし、それは起こってはいけません。 YouTubeアプリ&を再生すると、動画が再生されますが、端末がサイレントモードであっても正常に動作します。

答えが見つかりました。以下はSwift 3コードです。カテゴリをAVAudioSessionCategoryPlaybackに設定すると、デバイスがサイレントモードになっている場合、アプリはサウンドでビデオを再生します。

カテゴリをAVAudioSessionCategoryAmbientに設定し、サイレントモードでデバイスでアプリを実行すると、アプリはサウンドなしでビデオを再生します。

let audioSession = AVAudioSession.sharedInstance() 

do 
{ 
    try audioSession.setCategory(AVAudioSessionCategoryPlayback, with: .duckOthers) 
} 
catch 
{ 
    print("AVAudioSession cannot be set") 
} 
+0

これは、シミュレータ上で動作していたが、デバイス上で動作していないベアボーンのオーディオサンプルアプリケーションに追加されました。 – dbergman

関連する問題