zoukankan      html  css  js  c++  java
  • 用button简单控制音乐的播放与暂停

    ViewController.h

    //定义一个按钮button

    @property(strong,nonatomic)UIButton *button;

    ViewController.m

    #import "ViewController.h"

    //导入头文件

    #import <AVFoundation/AVFoundation.h>

    @interface ViewController ()

     //定义一个player的属性

    @property (nonatomic,strong)AVAudioPlayer *player;

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        //获取MP3文件的全路径

        NSString *musicfiledpath=[[NSBundle mainBundle] pathForResource:@"刘德华 - 冰雨" ofType:@"mp3"];

        //也是获取路径

        NSURL *musicURL=[[NSURL alloc] initFileURLWithPath:musicfiledpath];

        //创建名叫theplay的对象

        AVAudioPlayer *thePlay=[[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil];

        

        //设置button的位置

        self.button=[[UIButton alloc] initWithFrame:CGRectMake(150, 150, 100, 50)];

        

        //按钮的名称

        [self.button setTitle:@"播放+暂停" forState:UIControlStateNormal];

        

        //按钮的背景色

        self.button.backgroundColor=[UIColor grayColor];

        

        [self.view addSubview:self.button];

        

        //响应播放事件

        [self.button addTarget:self action:@selector(testplayer) forControlEvents:UIControlEventTouchUpInside];

        

        //创建播放器

        self.player=thePlay;

    }

    -(void)testplayer

    {

        if(self.button.tag==0)

        {

        //预播放

        [self.player prepareToPlay];

            //设置音乐播放的次数,-1为循环播放

        self.player.numberOfLoops=-1;

        //播放

        [self.player play];

            self.button.tag=1;

            

        }

        else

        {

            [self.player stop];

            self.button.tag=0;

        }

        

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

    @end

  • 相关阅读:
    大牛思考方式
    web面试题大全
    github上最全的资源教程-前端涉及的所有知识体系
    java switch语句注意的事项
    Lucene Payload 的研究与应用
    hive array、map、struct使用
    黑马程序员--正则表达式
    [置顶] 读源码练内功(一):guava之eventbus
    自定义Java Annotations实例以及用Java Reflection来解析自定义的Annotation
    Solr之NamedList 简单介绍与实例解析
  • 原文地址:https://www.cnblogs.com/layios/p/5260008.html
Copyright © 2011-2022 走看看