本地音乐播放、在线音乐播放与视频播放

1.本地音乐播放

1.导入库:AVFoundation.framework

2.添加头文件:#import <AVFoundation/AVFoundation.h>

代码如下:

#import "ConfigViewController.h"
#import "UIView+DLQuickView.h"
#import <AVFoundation/AVFoundation.h>

@interface ConfigViewController ()
{
//    UIProgressView *_playerProgress;
    UISlider *_volumeSliser;
}
@property (strong, nonatomic) UIProgressView *playerProgress;
@property (strong, nonatomic) AVAudioPlayer *player;
@end

@implementation ConfigViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

//    self.view.backgroundColor = [UIColor redColor];

    //本地数据
    NSData *data = [[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"lalala.mp3" ofType:nil]];
    _player = [[AVAudioPlayer alloc] initWithData:data error:nil];

    //弱引用
    __weak typeof (self)weakSelf = self;
    [self.view addImageButtonWithFrame:CGRectMake(0, 0, 320, 50) title:@"播放" background:nil action:^(UIButton *button) {
        [weakSelf.player play];
    }];

    [self.view addImageButtonWithFrame:CGRectMake(0, 80, 320, 50) title:@"停止" background:nil action:^(UIButton *button) {
        [weakSelf.player stop];

        weakSelf.playerProgress.progress = 0;
        weakSelf.player.currentTime = 0;
    }];

    //进度显示
    _playerProgress = [[UIProgressView alloc] initWithFrame:CGRectMake(50, 150, 253, 30)];
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dealTap:)];
    [_playerProgress addGestureRecognizer:tap];
    [self.view addSubview:_playerProgress];

    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(dealTimer) userInfo:nil repeats:YES];

    //滑块控制音量
    _volumeSliser = [[UISlider alloc] initWithFrame:CGRectMake(50, 180, 250, 30)];
    _volumeSliser.maximumValue = 100;
    _volumeSliser.minimumValue = 0;
    _volumeSliser.value = 50;
    [_volumeSliser addTarget:self action:@selector(clickSlider:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:_volumeSliser];

}
//音量控制
-(void)clickSlider:(UISlider *)slider
{
    _player.volume = _volumeSliser.value/100.0;
}
-(void)dealTimer
{
    if (_player.duration != 0) {
        _playerProgress.progress = _player.currentTime/_player.duration;
    }
}
//快进
-(void)dealTap:(UITapGestureRecognizer *)tap
{
    CGPoint point = [tap locationInView:_playerProgress];
    double time = _player.duration*(point.x/_playerProgress.frame.size.width);
    NSLog(@"%f",time);
    _playerProgress.progress = time;
    _player.currentTime = time;
}

2.播放在线音乐

1.添加第三方框架:AudioStreamer

2.添加头文件

#import "AudioStreamer.h"

代码如下:

@property (strong, nonatomic) AudioStreamer *streamer;

......

    [self audioStreamer];

}
-(void)audioStreamer
{
    NSString *urlString = @"http://yinyueshiting.baidu.com/data2/music/239130183/1226741191429509661128.mp3?xcode=eee19589e99832ae94afa7066bd00d38c3ba3c8b80064e3b";
    _streamer = [[AudioStreamer alloc] initWithURL:[NSURL URLWithString:urlString]];
    //弱引用
    __weak typeof (self)weakSelf = self;
    [self.view addImageButtonWithFrame:CGRectMake(0, 210, 320, 50) title:@"在线音乐" background:nil action:^(UIButton *button) {
        [weakSelf.streamer start];
    }];
}

3.视频播放

1.库的配置:

#import "UIView+DLQuickView.h"

#import <MediaPlayer/MediaPlayer.h>

2.代码

-(void)mediaPlayer
{
    __weak typeof(self) weakSelf = self;
   [self.view addImageButtonWithFrame:CGRectMake(0, 0, 320, 100) title:@"播放本地视频" background:nil action:^(UIButton *button) {

        NSString *path = [[NSBundle mainBundle] pathForResource:@"dzs.mp4" ofType:nil];
        MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:path]];
        [weakSelf presentViewController:player animated:YES completion:nil];

    }];

    //点播,用FLVCD得到地址
    [self.view addImageButtonWithFrame:CGRectMake(0, 200, 320, 50) title:@"播放网络MP4文件" background:nil action:^(UIButton *button) {

        NSString *urlString = @"http://k.youku.com/player/getFlvPath/sid/142962067839912ed08c1_00/st/mp4/fileid/030008040055269A84A7BF087AC0922C0A08E6-0A51-5380-BE6C-39580A30167D?K=6a0571f7e57bdeb6261e4c31&ctype=12&ev=1&oip=1931322792&token=5680&ep=cyaWE0%2BPVsgH7SDWgT8bMnjifCQOXP4J9h%2BFidJmALshTeq5kE%2FZw%2By3PIlCHv5oASIPEumCq6HnYjUSYfAyrGkQ2k2gOfqSi%2FaQ5a5awZgAFxo2c8vQwFSbRTjx";
        MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:urlString]];
        [weakSelf presentViewController:player animated:YES completion:nil];

    }];

    //直播M3u8
    //点播:想看哪儿就看哪
    //点播:类似电视
    [self.view addImageButtonWithFrame:CGRectMake(0, 250, 320, 50) title:@"播放直播M3u8文件" background:nil action:^(UIButton *button) {

        NSString *urlString = @"http://219.232.160.141:5080/hls/c64024e7cd451ac19613345704f985fa.m3u8";
        MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:urlString]];
        [weakSelf presentViewController:player animated:YES completion:nil];

    }];
}
时间: 2024-10-12 16:02:03

本地音乐播放、在线音乐播放与视频播放的相关文章

基于JSP的在线音乐管理系统-java音乐管理系统在线音乐网站下载音乐mysql数据源

基于JSP的在线音乐管理系统-java音乐管理系统在线音乐网站下载音乐mysql数据源 1.包含源程序,数据库脚本.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善.开发环境:Eclipse ,MySQL 5.1,JDK1.8,Tomcat 7涉及技术点:MVC模式.JavaWeb.JDBC.HTML.CSS.JQUERY.Maven.C3P0.分页.文件上传.购物车等.实现功能:充值.购买歌曲.poi数据导入导出.歌曲上传下载.歌曲播放.用户注册登录注销,管理员.系统没用任何框架,前台

jqm视频播放器,html5视频播放器,html5音乐播放器,html5播放器,video开发demo,html5视频播放示例,html5手机视频播放器

最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案.因此我就在这里做一个demo,供大家相互学习.html5开发越来越流行了,而对于视频这一块也是必不可少的一部分.如何让你的网站占据优势,就要看你的功能和用户体验了.html5对video还是做了很多优惠的东西,我们使用起来很得心应手. 在过去 flash 是网页上最好的解决视频的方法,截至到目前还算是主流,像那些优酷之类的视频网站.虾米那样的在线音乐网站,仍然使用 flash 来提供播放服务.但是这种状况将会随

Flex4/Flash+BlazeDS+JAVA+MySql 开发在线音乐播放器实例

要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演示地址 传统网络程序的开发是基于页面的.服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的.全方位的体验要求了.而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就

Android开发本地及网络Mp3音乐播放器(十五)网络音乐及歌词下载功能实现

实现功能: 实现网络音乐歌词下载功能(下载音乐的同时,下载对应歌词) 下载好的歌词目前不在播放器内,可以通过文件浏览器查看. 后续将博文,将实现本地音乐歌词下载和已下载音乐扫描功能. 因为,没有自己的服务器,所以网络音乐所有相关功能(包含搜索音乐.下载音乐.下载歌词)均无法保证时效性,建议,尽快下载和练习:如果你下载时候,已经因为我采集的服务器更改规则,请给我留言,如果可以解决,我将在有空的时候献上新的源码. 截止到目前的源码下载: http://download.csdn.net/album/

Python实现 ---【简易】在线音乐播放器

最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过requests模块,get请求将数据获得,使用Json模块进行数据的解析,最终使用python的mp3play库进行对音乐的在线播放,以下是该程序的源码. 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2016-12

Android开发本地及网络Mp3音乐播放器(十四)网络音乐下载功能实现

实现功能: 实现网络音乐搜索功能 实现网络音乐下载功能 下载好的音乐目前不在播放器内,可以通过文件浏览器查看. 后续将博文,将实现歌词和下载音乐扫描功能. 经过将近4天,才发布这一篇博客,明显更新博客速度变慢了,因为没有自己的音乐服务器,网络上的音乐网站在这边博客发表的2016年5月已经很难找到免费且在线下载的了,就算找到解析也是一个难题.如果你在练习同样功能的Demo,请尽快下载练习,因为博主也无法保证我Demo下载功能时效性,因为我解析的音乐网站可能分分钟修改网页源码!!! 截止到目前的源码

Android开发本地及网络Mp3音乐播放器(九)音乐收藏与列表切换

实现功能: 使用快速开发框架xUtils中的DbUtils模块,为音乐收藏功能做准备 实现PlayActivity(独立音乐播放界面)收藏.取消收藏按钮 实现MainActivity(主界面)菜单选择事件进入MyLoveMusicActivity(音乐收藏界面) 实现本地音乐列表与音乐收藏列表切换功能 (目前源码,只实现了音乐收藏列表,菜单中最近播放列表后续会进行补充) 截止到目前的源码下载: http://download.csdn.net/detail/iwanghang/9504916 x

Andriod小项目——在线音乐播放器

Android在线音乐播放器 从大一开始就已经开始自学Java和Android了,到现在差不多有一年了. 终于到了开始做项目实战的阶段了.就先DIY个在线音乐播放器. 实现了以下功能: 这个播放器可以从本机电脑搭建的简易服务器里异步读取并解析json数据,播放音乐,实现音乐切换,时间显示,以及显示播放进度. 程序有三个界面,启动画面,音乐列表,播放器页面,可以通过音乐列表点击进入到播放界面. 这篇文章只大概写了一下实现的思路,描述了一些关键的地方. 文章最后还提供了源代码,可以在文章结尾处  下

在线音乐播放器-----酷狗音乐api接口抓取

首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我等在线音乐播放器,是不会提供他们的数据库接口的,所以这个我们需要,在线抓取这些在线音乐播放器的接口,首先,这个事情,是属于违规的.是属于侵犯这些公司的版权的.所以,不能用于商业用途 我们以酷狗音乐为例子,抓取他的连接数据库的API接口 我是用的是谷歌,进入私密模式,因为在这种模式下,不会缓存歌曲 1