zoukankan      html  css  js  c++  java
  • IOS 播放音频流媒体

    #pragma mark - 加载播放数据

    - (void)loadData:(NSString *)musicUrl

    {

        NSURL *playURL = [NSURL URLWithString:musicUrl];

        self.playerItem = [AVPlayerItem playerItemWithURL:playURL];

                

        //创建单利对象

        self.playStationDetailsManager = [StationDetailsManager defaultManager];

        

        [_playStationDetailsManager.avPlayer replaceCurrentItemWithPlayerItem:self.playerItem];

        [self.playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];//监听status属性

       

        //添加音乐播放结束通知

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

        

        //进入就播放

        [_playStationDetailsManager.avPlayer play];

        

    }

    #pragma mark 设置监听歌曲的方法,并进行页面赋值

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

    {

        AVPlayerItem *playerItem = (AVPlayerItem *)object;

        if ([keyPath isEqualToString:@"status"]) {

            //准备播放

            if ([playerItem status] == AVPlayerStatusReadyToPlay) {

                

                CMTime duration = self.playerItem.duration;//获取MP3的总长度

                self.playView.planSlider.maximumValue = CMTimeGetSeconds(duration);//设置滑竿的最大值

                NSLog(@"%f",CMTimeGetSeconds(duration));

                [self monitoringPlayback:self.playerItem];//监听播放的状态

            }else if ([playerItem status] == AVPlayerStatusFailed){

                //加载失败

                NSLog(@"加载失败");

            }

        }

    }

  • 相关阅读:
    EF性能之关联加载
    【迁移】—Entity Framework实例详解
    GRIDVIEW多行多列合并单元格(合并列)
    使用Word2013发布随笔到博客园
    课堂资料下载-有问题加群-为杜绝有广告泛滥.固加群收费.
    strstr ShellCode实现
    X86保护模式入门简介
    WDK7600编译器环境配置
    内核驱动驱动对象 Driver_OBJECT
    基本的三角函数总结
  • 原文地址:https://www.cnblogs.com/iOS-mt/p/4325471.html
Copyright © 2011-2022 走看看