2016-05-10 3 views
0

я имею проблемы с воспроизведением видео через URL с помощью AVPlayer и avplayerviewcontrolleravplayer воспроизводит видео на симуляторе не на устройстве?

он играет отлично на тренажере, но не работает на устройстве. ли это проблема со статическим IP я использую следующим образом -

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

же видео из следующего URL играет отлично на устройстве

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

код ниже я использую -

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

Если у вас есть первое видео в локальной среде, оно не будет воспроизводиться снаружи вашей сети. Когда я пытаюсь щелкнуть ссылку, которую он не играет на моей машине, потому что ваше видео находится в вашей внутренней сети. Если вы воспроизводите свое видео через симулятор, он работает, потому что ваш компьютер подключен к вашей внутренней сети. Нет ничего общего с avplayer. Убедитесь, что ваше устройство подключено к локальной сети или опубликовано ваше видео в среде uat и протестируйте его. Он работает нормально. – 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

Добавил это в приложение для примера Audio-Sample, которое работало на симуляторе, но не на устройстве. – dbergman

Смежные вопросы