标签: avplayer

AVQueuePlayer的预缓冲

有没有人知道当前项目即将完成播放时是否AVQueuePlayer开始缓冲下一个AVPlayerItem

我知道文档中没有任何内容可以暗示这一点,我主要询问是否有人观察过这种行为.

iphone objective-c avfoundation avplayer

20
推荐指数
3
解决办法
1万
查看次数

AVPlayer和本地文件

我正在构建一个用于iOS的MP3播放器,播放在网络上托管的音频文件.我想提供离线播放文件的能力,所以我使用ASIHTTP下载文件,但我似乎无法在app文档目录中找到有关初始化AVPlayer的信息.有没有人这样做过?它甚至可能吗?

*我在下面发布了一个答案,显示了如何将iOS AvPlayer用于本地和http文件.希望这可以帮助!

iphone avfoundation ipad avplayer

20
推荐指数
2
解决办法
4万
查看次数

关闭AVPlayer的音频播放?

我有一个AVPlayer与AVPlayerItem.我想要的是关闭AVPlayer音频播放.我想播放视频.

有人能帮我吗?谢谢!

    self.avPlayerItem = [AVPlayerItem playerItemWithURL:self.videoUrl];
    self.avPlayer = [AVPlayer playerWithPlayerItem:self.avPlayerItem];
    [self.avPlayer play];
    self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;


    self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
    self.avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(playerItemDidPlayToEndTime:)
                                                 name:AVPlayerItemDidPlayToEndTimeNotification
                                               object:self.avPlayerItem];


    CGRect screenRect = [[UIScreen mainScreen] bounds];

    self.avPlayerLayer.frame = CGRectMake(0, 0, screenRect.size.width , screenRect.size.height );
    [self.view.layer insertSublayer:self.avPlayerLayer atIndex:0];
Run Code Online (Sandbox Code Playgroud)

iphone audio objective-c ios avplayer

20
推荐指数
3
解决办法
1万
查看次数

AVPlayer太长,延迟到readyToPlay并在swift中播放服务器音乐

我试图remote url用快速语言缓冲并立即播放音频.

但问题是需要很长时间才能完成 readyToPlay案例和游戏.

例如,声音网址需要大约12到15秒才能运行.

这是我的代码:

var asset: AVAsset!
var player: AVPlayer!
var playerItem: AVPlayerItem!

private var playerItemContext = 0

let requiredAssetKeys = [ "playable","hasProtectedContent"]
Run Code Online (Sandbox Code Playgroud)
let url = URL(string: "http://sound_link.mp3")!
asset = AVAsset(url: url)

playerItem = AVPlayerItem(asset: asset,
                              automaticallyLoadedAssetKeys: requiredAssetKeys)
playerItem.addObserver(self,
                       forKeyPath: #keyPath(AVPlayerItem.status),
                       options: [.old, .new],
                       context: &playerItemContext)

player = AVPlayer(playerItem: playerItem)
Run Code Online (Sandbox Code Playgroud)

根据这个(ExploringAVFoundation)文档已经完成了

并且对于玩家准备玩家玩的手柄我使用observeValue func:

override func observeValue(forKeyPath keyPath: String?,of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {

   guard context == &playerItemContext else …
Run Code Online (Sandbox Code Playgroud)

ios avplayer swift avplayeritem

20
推荐指数
2
解决办法
7013
查看次数

使用AVPlayer处理流媒体事件

我正在构建一个播放音频流的应用程序(来自webradio).

我正在使用AVPlayer它.

1)我想知道AVPlayer's当连接速度很慢或用户点击"播放"时你将如何处理"缓冲".我想检测出AVPlayer"缓冲"来显示UIActivityIndicatorView.

2)在后台运行时的同样问题.如果在这种情况下缓冲,我该怎么办?

谢谢 !

xcode stream avfoundation ios avplayer

19
推荐指数
2
解决办法
2万
查看次数

AVPlayerItem不能与多个AVPlayer实例关联

-(IBAction)play:(id)sender
{

    thumbImageView.alpha=0.0;

    NSString *stringvideo=[NSString stringWithFormat:@"http://streaming-service",[[NSUserDefaults standardUserDefaults]valueForKey:@"VideoIdselected"]];

    NSString *videoURLString = stringvideo;

       NSURL *url = nil;

  url = [NSURL URLWithString:videoURLString];





    self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url];




    if (self.moviePlayerController)
    {
        /* Save the movie object. */
          [self setMoviePlayerController:self.moviePlayerController];


        [self installMovieNotificationObservers];

        /* Specify the URL that points to the movie file. */
        [self.moviePlayerController setContentURL:url];


        [self.moviePlayerController setMovieSourceType:MPMovieSourceTypeStreaming]; // for streaming



        self.moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;

        // [self.videoPlayer setMovieSourceType:MPMovieSourceTypeStreaming];

      // self.moviePlayerController.shouldAutoplay = YES;

        [self.moviePlayerController.view setFrame: CGRectMake(0, 0, 320,160)];



        [self.moviePlayerController setFullscreen:NO animated:YES];

        [self.moviePlayerController view].backgroundColor = [UIColor lightGrayColor];

        [self.view addSubview:self.moviePlayerController.view]; …
Run Code Online (Sandbox Code Playgroud)

iphone video ios avplayer

19
推荐指数
2
解决办法
2万
查看次数

在加载资产后立即在AVPlayer中寻找某个位置

这有效:我有一个AVPlayer在加载后立即播放视频.这很好用.

这不是:

我想在一个给定的位置播放它,而不是在开始时播放视频.所以我等到资产准备好使用KVO播放:

BOOL isReadyToSeek = (self.playerItem.status == AVPlayerStatusReadyToPlay)
Run Code Online (Sandbox Code Playgroud)

然后寻求给定的时间

[playerItem seekToTime:timeInTheMiddleOfTheVideo completionHandler:myHandler];
Run Code Online (Sandbox Code Playgroud)

但是玩家将始终在视频开始时进行初始搜索.

更新 我尝试了几秒钟的dispatch_after,但这也不起作用.它在播放后工作,但从不开始.

当我看到self.player.currentItem.duration我不断收到0valuetimescale.

video cocoa-touch objective-c ios avplayer

19
推荐指数
1
解决办法
2万
查看次数

在tvOS上播放时出现AVPlayer错误

我正在使用以下代码在tvOS上播放视频:

NSString *filePath = [[NSBundle mainBundle] pathForResource:name ofType:@"mov"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];

self.player = [AVPlayer playerWithURL:fileUrl];
AVPlayerLayer *avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];

avPlayerLayer.frame = CGRectMake(0, 0, view.frame.size.width, view.frame.size.height);
[view.layer addSublayer:avPlayerLayer];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(replayMovie:) name:AVPlayerItemDidPlayToEndTimeNotification object:nil];

[self.player play];
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误

错误:> aqme> 718:MEMixerChannel :: EnableProcessor:无法打开处理器类型0x705f6571

任何想法如何解决它?

objective-c avplayer avplayerlayer tvos

19
推荐指数
1
解决办法
2566
查看次数

objectiveC/CMTime - 将AVPlayer.duration转换为毫秒

我正在创建一个播放铃声的应用程序,我想知道每次播放铃声的当前时间(以毫秒为单位).

CMTime cTime = player_.currentTime; float currentTime = cTime.value/cTime.timescale;

这里的currentTime以秒为单位获取值.如何获得精确的currentTime值,但以毫秒为单位?

iphone avfoundation avplayer cmtime

18
推荐指数
2
解决办法
2万
查看次数

如何检测AVPlayerItem何时完成播放?

我一直在浏览AVPlayerItemAVPlayer文档,并且在项目完成播放时似乎没有任何回调.我希望我们可以使用某种代理回调,或者AVPlayerActionAtItemEnd为我们提供自定义操作.

我怎样才能找到一种方法来检测AVPlayer何时播放完一个项目?

ios avplayer

18
推荐指数
2
解决办法
1万
查看次数