zoukankan      html  css  js  c++  java
  • 简单播放音频

      最近做一个项目,有一个小功能是播放音频,以前没有做过音频,于是在网上找了很多demo,但是没有想要的,然后自己去研究一个官网文档,自己也随意写了一个demo,本地播放与网络播放就是url上的差别,其他基本上一致

    //本地播放

    #import "LocationViewController.h"

    #import <AVFoundation/AVFoundation.h>

     

    @interface LocationViewController ()

     

    /* 播放器 */

    @property (nonatomic, strong) AVPlayer *player;

     

    @end

     

    @implementation LocationViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.view.backgroundColor = [UIColor whiteColor];

    }

     

    #pragma mark - 懒加载

    - (AVPlayer *)player

    {

        if (!_player) {

            //1.创建单乐资源

            NSURL *url = [[NSBundle mainBundle] URLForResource:@"14945107.mp3" withExtension:nil];

            

            AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];

            

            //创建播放器

            //        _player = [AVPlayer playerWithURL:url]; //这个不能改变音乐的动态

            _player = [AVPlayer playerWithPlayerItem:playerItem];//可以改变音乐的动态

            

        }

        return _player;

    }

     

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    {

        [self.player play];

        

    //    //切换另外一首音乐

    //    AVPlayerItem *nextPlayItem = [AVPlayerItem playerItemWithURL:nil];

    //    [self.player replaceCurrentItemWithPlayerItem:nextPlayItem];

    }

     

     

    //网络播放

     

    #import "NetworkMusicViewController.h"

    #import <AVFoundation/AVFoundation.h>

     

    @interface NetworkMusicViewController ()

     

    /* 播放器 */

    @property (nonatomic, strong) AVPlayer *player;

     

     

    @end

     

    @implementation NetworkMusicViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.view.backgroundColor = [UIColor whiteColor];

    }

     

    - (AVPlayer *)player

    {

        if (!_player) {

            //1.创建音乐资源

            NSURL *url = [NSURL URLWithString:@"http://wvoice.spriteapp.cn/voice/2015/0824/55dafc15020d9.mp3"];

            

            AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];

            

            //2.创建播放器

            _player = [AVPlayer playerWithPlayerItem:playerItem];

        }

        return _player;

    }

     

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    {

        [self.player play];

    }

  • 相关阅读:
    完全卸载SQL Server 2008r2
    win7:你需要来自Administrators的权限才能对此文件进行修改的一个文件
    web.config文件中配置数据库连接的两种方式
    IIS6/7 配置操作
    IIS6/7 配置问题
    svn一整套使用,从下载到整个服务器搭建完成的详细说明
    HTTP协议详解
    深入理解String的关键点和方法
    将博客搬至CSDN
    对Java Web项目中路径的理解
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/7639134.html
Copyright © 2011-2022 走看看