【问题标题】:avplayer plays video on simulator not on device?avplayer 在模拟器上播放视频而不是在设备上?
【发布时间】:2016-05-10 04:47:35
【问题描述】:

我在使用 avplayeravplayerviewcontroller

通过 url 播放视频时遇到问题

它在模拟器上运行良好,但在设备上不起作用。 这是我一直使用的静态IP的问题吗 -

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

来自以下网址的相同视频在设备上可以正常播放

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];

【问题讨论】:

  • 这个链接有帮助吗? transcoding.dk/2012/09/22/…
  • 如果您在本地环境中播放第一个视频,那么它不会在您的网络之外播放。当我尝试点击链接时,它没有在我的机器上播放,因为您的视频在您的内部网络中.如果您通过模拟器播放视频,它可以正常工作,因为您的机器连接到您的内部网络。与 avplayer 无关。确保您的设备已连接到本地网络或在 uat 环境中发布您的视频并进行测试。它工作正常。

标签: ios objective-c avplayer avplayerviewcontroller


【解决方案1】:

不久前我也遇到了同样的问题,但刚刚发现我的设备处于静音模式,因此它正在运行没有声音的视频。

但这不应该发生。如果我运行 YouTube 应用程序并播放视频,即使设备处于静音模式,它也能正常工作。

我找到了答案。以下是 Swift 3 代码。如果您将类别设置为 AVAudioSessionCategoryPlayback 并且设备处于静音模式,则应用会播放有声视频。

如果您将类别设置为AVAudioSessionCategoryAmbient,并且如果您在开启静音模式的设备上运行该应用程序,则该应用程序将无声播放视频。

let audioSession = AVAudioSession.sharedInstance()

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

【讨论】:

  • 将此添加到在模拟器上运行但在设备上运行的准系统音频示例应用程序中。
【解决方案2】:

我认为您的视频和您的设备不在同一个网络中。两者都使用公共网络或将其放置在每个人都可以访问的远程位置。

您可以在模拟器中播放视频,因为您的系统 (mac) 已连接到可以播放视频的公共网络,但我认为您使用的是不同的移动网络网络。

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2012-08-17
    • 2017-05-09
    相关资源
    最近更新 更多