IOS多媒体

音乐播放器

  1 #import "ViewController.h"
  2
  3 @interface ViewController ()
  4
  5 @end
  6
  7 @implementation ViewController
  8
  9 - (void)viewDidLoad {
 10     [super viewDidLoad];
 11     // Do any additional setup after loading the view, typically from a nib.
 12     dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
 13     dispatch_async(queue, ^{
 14         // 创建一个定时器
 15         [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
 16
 17         // 保持线程活跃
 18         [[NSRunLoop currentRunLoop] run];
 19     });
 20
 21 //    播放
 22     play1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 23     play1.frame = CGRectMake(30, 360, 90, 35);
 24     play1.backgroundColor = [UIColor redColor];
 25     [play1 setTitle:@"播放" forState:UIControlStateNormal];
 26     [play1 addTarget:self action:@selector(playAction:) forControlEvents:UIControlEventTouchUpInside];
 27
 28     [self.view addSubview:play1];
 29 //    停止播放
 30     stop = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 31     stop.frame = CGRectMake(30, 260, 90, 35);
 32     stop.backgroundColor = [UIColor redColor];
 33     [stop setTitle:@"停止" forState:UIControlStateNormal];
 34     [stop addTarget:self action:@selector(stopAction:) forControlEvents:UIControlEventTouchUpInside];
 35     [self.view addSubview:stop];
 36 //    暂停播放
 37     pause = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 38     pause.frame = CGRectMake(30, 160, 90, 35);
 39     pause.backgroundColor = [UIColor redColor];
 40     [pause setTitle:@"暂停" forState:UIControlStateNormal];
 41     [pause addTarget:self action:@selector(pauseAction:) forControlEvents:UIControlEventTouchUpInside];
 42     [self.view addSubview:pause];
 43 //    声音UILabel
 44     sound = [[UILabel alloc] initWithFrame:CGRectMake(90, 210, 100, 20)];
 45     sound.text = @"声音:";
 46     [self.view addSubview:sound];
 47 //    声音UISlider
 48     audioPlayer = [[UISlider alloc] initWithFrame:CGRectMake(150, 170, 200, 100)];
 49     [audioPlayer addTarget:self action:@selector(audioSilderChanged:) forControlEvents:UIControlEventValueChanged];
 50
 51     [self.view addSubview:audioPlayer];
 52 //    进度UISlider
 53     _timeSlider = [[UISlider alloc] initWithFrame:CGRectMake(160, 270, 150, 100)];
 54     [_timeSlider addTarget:self action:@selector(timeSliderChanged:) forControlEvents:UIControlEventValueChanged];
 55     [self.view addSubview:_timeSlider];
 56 //    当前进度
 57     _startTimeLabel = [[UILabel alloc] initWithFrame:CGRectMake(130, 270, 100, 100)];
 58     [self.view addSubview:_startTimeLabel];
 59 //    音乐总长
 60     _endTimeLabel = [[UILabel alloc] initWithFrame:CGRectMake(320, 270, 100, 100)];
 61     [self.view addSubview:_endTimeLabel];
 62     _audioPlayer.delegate = self;
 63
 64
 65 }
 66 - (void)timerAction:(NSTimer *)timer
 67 {
 68     // 回到主线程刷新UI
 69     dispatch_async(dispatch_get_main_queue(), ^{
 70         _startTimeLabel.text = [NSString stringWithFormat:@"%d",(int)_audioPlayer.currentTime];
 71         _timeSlider.value = _audioPlayer.currentTime;
 72     });
 73 }
 74
 75 -(void)pauseAction:(UIButton *)pause{
 76     [_audioPlayer pause];
 77 }
 78 -(void)stopAction:(UIButton *)stop{
 79     [_audioPlayer stop];
 80     _audioPlayer = nil;
 81 }
 82 -(void)audioSilderChanged:(UISlider *)audio{
 83     UISlider *slider = (UISlider *)audioPlayer;
 84     // 7.设置音量的大小
 85     _audioPlayer.volume = slider.value;
 86
 87
 88 }
 89 -(void)playAction:(UIButton *)pl{
 90     if (_audioPlayer == nil) {
 91         // 1.音乐文件的路径
 92         NSString *urlString = [[NSBundle mainBundle] pathForResource:@"王绎龙-邻家美眉" ofType:@"mp3"];
 93         // 2.转化成本地路径
 94         NSURL *url = [NSURL fileURLWithPath:urlString];
 95         // 3.创建播放对象
 96         _audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
 97         _audioPlayer.numberOfLoops = -1;
 98
 99         // 5.记录音乐的总时长   duration声音的持续时间
100         _startTimeLabel.text = @"0";
101         //    音乐总长UILabel
102         _endTimeLabel.text = [NSString stringWithFormat:@"%d",(int)_audioPlayer.duration];
103         // 6.设置滑条的参数
104         _timeSlider.minimumValue = 0;
105         _timeSlider.maximumValue = _audioPlayer.duration;
106         // 7.设置音量的大小
107         _audioPlayer.volume = 0.0;
108     }
109
110     // 5.播放
111     [_audioPlayer play];
112 }
113 -(void)timeSliderChanged:(UISlider *)time{
114     // 播放进度的改变
115     _audioPlayer.currentTime = _timeSlider.value;
116 }
117
118 @end
时间: 2024-10-22 11:20:30

IOS多媒体的相关文章

史上最全的iOS多媒体开发博客

这篇博客是史上最全的iOS多媒体开发博客,包括视频.音频.图片等多套API,如果要实现多媒体的功能,点进去找找有用的东西吧:http://www.cnblogs.com/kenshincui/p/4186022.html#autoid-0-0-0..

(转载)iOS 多媒体

音频:(音效.音乐) 在iOS中音频播放从形式上可以分为音效播放和音乐播放.前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度.循环等控制.后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制.在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放. 音效: AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注

iOS多媒体框架介绍

媒体层 媒体层包含图形技术.音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,更重要的是,它们让创建外观音效俱佳的应用程序变得更加容易.您可以使用iOS的高级框架更快速地创建高级的图形和动画,也可以通过底层框架访问必要的工具,从而以某种特定的方式完成某种任务. 图形技术 高质量的图形是iOS应用程序的重要组成部分.创建应用程序最简单最有效的方法是使用事先渲染过的图片,搭配上标准视图以及UIKit框架的控件,然后把绘制任务交给系统来执行.但是在某些情况下,您可能需要一些UIK

iOS 多媒体编程

首先了解一下ios系统的四层结构 1. Core OS   核心操作系统层 2. Core Services  核心服务层 3. Media  媒体层 4. cocoa touch层 Media层就是支持多媒体播放的 ios9以后官方推荐使用AVKit  和AVFoundtion框架来实现视频的播放 - (IBAction)click:(id)sender { //创建播放器控制器 AVPlayerViewController * playerVc = [[AVPlayerViewControl

IOS 多媒体加载 加载音频 AVAudioPlayer

IOS加载音频文件   需要导入#import <AVFoundation/AVFoundation.h> 1 NSString *path = [[NSBundle mainBundle] pathForResource:@"胭脂泪" ofType:@"mp3"]; //把音频文件转换成url格式 2 3 NSURL *urlStr = [NSURL fileURLWithPath:path]; 4 AVAudioPlayer * audioPlaye

iOS多媒体总结

1. 播放mp3需要导入框架,AVFoundation支持音频文件(.caf..aif..wav..wmv和.mp3)的播放. #import <AVFoundation/AVFoundation.h>//音频播放框架 步骤: a.声明一个音频播放对象: { AVAudioPlayer *_player; } b.用一个支持的文件路径来初始化_player: (据说只能播放本地文件,像酷我等音乐软件应该是播放前下载到本地,然后进行播放的,因为在用酷我时,隔断时间就会提示我内存过大,请清理,应该

IOS 多媒体

一.音频播放 1.音效播放(短时间的音频文件)1> AudioServicesCreateSystemSoundID2> AudioServicesPlaySystemSound 2.音乐播放(长时间的音频文件)1> AVAudioPlayer只能播放本地的音频文件 2> AVPlayer能播放本地.远程的音频.视频文件基于Layer显示,得自己去编写控制面板 3> MPMoviePlayerController能播放本地.远程的音频.视频文件自带播放控制面板(暂停.播放.播

IOS 多媒体 使用总结

一.音频播放 1.音效播放(短时间的音频文件)1> AudioServicesCreateSystemSoundID2> AudioServicesPlaySystemSound 2.音乐播放(长时间的音频文件)1> AVAudioPlayer只能播放本地的音频文件 2> AVPlayer能播放本地.远程的音频.视频文件基于Layer显示,得自己去编写控制面板 3> MPMoviePlayerController能播放本地.远程的音频.视频文件自带播放控制面板(暂停.播放.播

iOS,多媒体相关

1.本地音频播放 2.本地视频播放 本地音频播放 导入头文件 #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> import "ViewController.h" @interface ViewController () //AVAudioPlayer要为全局变量才能播放 @property (strong,nonatomic) AVAudioPlayer *aud