iOS 音乐播

来源:互联网 发布:优易数据网站 编辑:程序博客网 时间:2024/06/02 04:18

首先要知道 播放音乐需要添加一个框架 AVFoundation.framework 


.h (申明)


//

//  ViewController.h

//  ios002

//

//  Created by ibokan on 13-8-27.

//  Copyright (c) 2013 ibokan. All rights reserved.

//


#import <UIKit/UIKit.h>

#import <AVFoundation/AVFoundation.h>

//导入播放器的代码                        需要添加的代理

@interface ViewController :UIViewController<AVAudioPlayerDelegate>


@end



.m(实现文件)

//

//  ViewController.m

//  ios002

//

//  Created by ibokan on 13-8-27.

//  Copyright (c) 2013 ibokan. All rights reserved.

//


#import "ViewController.h"

#import <AVFoundation/AVFoundation.h>

@interface ViewController ()


@end


@implementation ViewController

UIButton *btn;

//页面加载的时候要做的事情

- (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

//    创建按钮 1表示圆角矩形按钮,0表示自定义按钮

   btn= [UIButtonbuttonWithType:0];//自定义

   // btn= [UIButton buttonWithType:1];//圆角矩形白底黑字

//    设置btn按钮的位置

   btn.frame =CGRectMake(100,100,100,100);   

//    设置btn按钮上的标题文字

  //  [btn setTitle:@"播放" forState:UIControlStateNormal];

    //设置btn按钮的背景图片

    [btnsetBackgroundImage:[UIImageimageNamed:@"4.jpg"]forState:UIControlStateNormal];//   添加btn到父视图   ====》记住要把控件(按钮)添加到视图上 不然显示不出来 

    [self.viewaddSubview:btn];

//    为按钮btn添加点击事件的处理

    [btnaddTarget:selfaction:@selector(playMusic)forControlEvents:UIControlEventTouchUpInside];

//    创建播放器类

//    1、获取声音素材                            pathForResource中文为:资源的路径   

    NSString *path=[[NSBundlemainBundle]pathForResource:@"1"ofType:@"mp3"];

//    2、根据本地路径生产播放地址

    NSURL *url=[[NSURLalloc]initFileURLWithPath:path];

    //3、创建播放器

    pl=[[AVAudioPlayeralloc]initWithContentsOfURL:urlerror:nil];

//    4、指定播放器的代理

    pl.delegate=self;

    

}

AVAudioPlayer *pl;//声明pl为全局变量,可以在任意方法中访问该变量你 ===》记住!!!

int flag=1;

-(void) playMusic{

   // NSLog(@"音乐播放");

//    获取按钮上的标题文字

    // NSString *tt=[btn titleForState:UIControlStateNormal];

   // NSLog(@"%@",tt);

    if (flag==1) {//判断tt的文字内容是不是播放

        

       //[btn setTitle:@"停止" forState:UIControlStateNormal];

        

//     5  播放

        [plplay];

        [btnsetBackgroundImage:[UIImageimageNamed:@"pause.jpg"]forState:UIControlStateNormal];

       flag=2;


    }else{

        //如果不是播放,设置btn按钮上的标题文字播放

        //[btn setTitle:@"播放" forState:UIControlStateNormal];

        

       //6、暂停

        [plpause];

        //设置按钮的背景图片

        [btnsetBackgroundImage:[UIImageimageNamed:@"3.jpg"]forState:UIControlStateNormal];

       flag =1;

    }

}


-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

{

    //播放音乐  

    [plplay];

}


- (void)didReceiveMemoryWarning

{

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}




@end



核心代码 :就是 AVAudioPlayer *pl;
 创建了一个播放音乐的对象  然后 这个对象有个行为就是会播放音乐 停止播放 等行为  
所以 可以调用对象的 paly stop 来进行音乐的播放和停止

但是播放音乐 要先和他说要播放哪首歌曲 所以要给他制定一个 路径 

   1、获取声音素材                            pathForResource中文为:资源的路径   

    NSString *path=[[NSBundlemainBundle]pathForResource:@"1"ofType:@"mp3"];

//    2、根据本地路径生产播放地址

    NSURL *url=[[NSURLalloc]initFileURLWithPath:path];

    //3、创建播放器

    pl=[[AVAudioPlayeralloc]initWithContentsOfURL:urlerror:nil];

//    4、指定播放器的代理

    pl.delegate=self;


 有了这个条件就可以播放音乐了
  开播! 

  5  播放

        [plplay];


Demo下载位置

http://download.csdn.net/detail/u011830940/6020931


原创粉丝点击