视频观看地址:http://www.tudou.com/programs/view/4mEtz8S72k0/?resourceId=399000367_06_02_99 这节主要内容是NSTimer,UIProgressView,MPMoviePlayerController类的使用 NSTimer 实例化: timer=NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: "onUpdate", use…
Swift实战-豆瓣电台(九)简单手势控制暂停播放 全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/ 这节我们主要讲UITapGestureRecognizer和MPMoviePlayerController 知识点 UITapGestureRecognizer 关联storyboard上的UITapGestureRecognizer @IBOutlet var tap:UITapGestureRecognizer=nil //注意…
观看地址 http://v.youku.com/v_show/id_XNzMwODM0MzI0.html 在这节里面,我们简单学习了一下MediaPlayer的使用 引入媒体框架 import MediaPlayer 申明一个媒体播放器 var audioPlayer:MPMoviePlayerController=MPMoviePlayerController(); 播放暂停操作 self.audioPlayer.stop() self.audioPlayer.contentURL=NSURL…
youku观看地址http://v.youku.com/v_show/id_XNzMxODQzNDIw.html 这是一个很酷的动画效果.特别是数据多的时候 知识点 在单元格(Cell)显示方法中设置动画 func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!){ cell.layer.transform =…
youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelController里面声明一个代理 这个代理遵循我们自定义的协议ChannlePrococol. 遵循这个协议的主界面类在注入后有一个回调方法onChangeChanne将所选择的频道返回. prepareForSegue方法 这个方法是在准备跳转的时候执行的.在这里面我们能拿到将要跳转的视图类segue.destinationViewController,…
观看地址 http://v.youku.com/v_show/id_XNzMwNDE0OTA4.html 这节的主要内容是如何利用cell展现获取到的数据. 首先申明两个数组来储存我们获取到的数据 var tableData:NSArray=NSArray() var channelData:NSArray=NSArray() tableData是主界面上歌曲列表要用的数据.所以在func tableView(tableView: UITableView!, numberOfRowsInSect…
观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboard中的组件在类中进行绑定.然后写了一个类用来获取网络数据,同时定义了一个协议,在获取数据后进行回调.之后对json数据进行解析,转化为一个字典. 知识点 异步获取数据 var nsUrl:NSURL=NSURL(string: url) var request:NSURLRequest=NSURLRequest(URL: nsUrl) NSURLC…
一 准备 我们现在看看我们要做一个什么样的东西 观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html 布局 通过上面这张图我们可以看出整个demo有两个视图,视图一用来播放音乐,视图二用来选择频道. 视图一 ImageView用来显示音乐的图片 TableView用来显示音乐列表 Progress用来显示播放进度 Label用来显示播放时间 Button用来切换视图 视图二 Lbale显示“选择频道” Tableview用来显示频道列表 知识要…
观看地址 http://v.youku.com/v_show/id_XNzMwMDg4NzAw.html 这节的内容主要是storyboard的操作. 有以下几个知识点 1 TableView的DataSource与Delegate的设定.我们将其绑定在ViewController上,使之遵循UITableViewDataSource,UITableViewDelegate协议来实现.然后我们实现了两个函数,一个返回了TableView中行数.也就是TableView里面有多少条数据. func…
最近在学Swift,也是刚刚开始.这里对自己最近所学做个简单的总结:视频和代码都在下面 http://pan.baidu.com/s/1sjHd5qX 1.String和NSString的不同 Swift的String类型是值类型.如果你创建了一个新的字符串值,那么当其进行常量.变量赋值操作或在函数/方法中传递时,会进行值拷贝. 在不同的情况下,都会对已有字符串值创建新的副本,并对该新副本进行传递或赋值. 这和OC中的NSString不同,当您在OC创建了一个NSString实例,并将其传递给一…
使用MPMoviePlayerController我们可以是进行音乐播放,下面是一个播放器样例.同时,播放时还可以显示播放时间和播放进度. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63…
//一.*项目准备 1.QQ音乐App 界面素材:(我使用PP助手,将QQ音乐App备份,解压ipa文件 即可得到里面的图片素材) 2.豆瓣电台接口:"http://douban.fm/j/mine/playlist?channel=1" //二.*界面布局使用Xcode新建一个Single View Application项目,选择Swift语言. 导入素材图片.在默认的ViewController视图进行以下布局. 界面控件不多,如图将几个关键控件布局就可以了. //三.*背景模糊…
iOS 9音频应用播放音频之iOS 9音频播放进度 iOS 9音频应用开发播放进度 音频文件在播放后经过了多久以及还有多久才可以播放完毕,想必是用户所关注的问题.为了解决这一问题,在很多的音乐播放器中都会有一个播放进度,如图2.32所示.本节将讲解两种查看播放进度的方法. 图2.32  QQ音乐 iOS 9音频应用开发通过进度时间查看进度 通过时间查看进度就是在图2.32中出现的两个时间,它有一个当前播放的时间,还有一个音频文件的总时间.通过这两个时间,用户就可以知道音频文件播放了多久,还需要多…
哈哈,发现windows下最好的豆瓣电台啦~~~基本全部功能都能满足哈,绝对没有之一的软件--K.F.storm豆瓣电台. 官方地址: http://www.kfstorm.com/blog/doubanfm/…
原文:WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放.播放.暂停.可拖动播放进度效果实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了,经过努力奋…
<!DOCTYPE html> <html> <head> <title>指定视频的播放进度</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script type="text/javascript"> //播放/暂停,采用同一个方法实现 function…
一.简介 上一篇,咱们基本把左侧导航栏给搞定,这一篇文章,开始来做一下播放进度条和控制按钮:老规矩,咱们先来看一下原版的效果: 首先,它这个专辑图片,有一个按钮效果,鼠标移入会显示出伸缩箭头:移出后消失,另外,点击此按钮后,弹出播放器歌词页面:歌词页面后面再说,先来看看按钮效果,如下: 还有就是音量按钮了,点击音量按钮,会弹出音量设置面板.面板中存放音量进度条:如下: 特殊的就这两个,下面开始来看一下怎么实现: 二.正文 专辑图片按钮 此按钮看上去可能有点复杂,实际实现起来很简单,咱们可以利用i…
一.av_read_frame() 该函数用于读取具体的音/视频帧数据 int av_read_frame(AVFormatContext *s, AVPacket *pkt); 参数说明: AVFormatContext *s // 文件格式上下文 AVPacket *pkt // 这个值不能传NULL,必须是一个空间, // 返回值:return 0 is OK, <0 on error or end of file 二.AVPacket 2.1 结构体常见参数说明 AVBufferRef…
效果: 问题:可拖动进度条随进度条移动时,会致使音乐卡顿(待解决) xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l…
最近开始学习音频相关.所以,很想自己做一个音乐播放器,于是,花了一天学习,将播放器的基本功能实现了出来.我觉得学习知识点还是蛮多的,所以写篇博客总结一下关于一个音乐播放器实现的逻辑.希望这篇博文对你的学习和生活有所帮助.效果图: **实现逻辑** 在市面上的音乐播放app,即时你关了.那么一样会在后台播放,所以播放的逻辑应该写在Service中.并且能够实现Service和Activity之间进行通信.那么Service是四大组件之一,所以在使用的时候一定不要忘了在配置文件中声明一下. <ser…
Swift实战技巧 从OC转战到Swift,差别还是蛮大的,本文记录了我再从OC转到Swift开发过程中遇到的一些问题,然后把我遇到的这些问题记录形成文章,大体上是一些Swift语言下面的一些技巧,希望对有需要的人有帮助 OC调用方法的处理 给OC调用的方法需要添加@objc标记,一般的action-target的处理方法,通知的处理方法等需要添加@objc标记 @objc func onRefresh(){ self.refreshCallback?() } 处理SEL选择子 使用方法型如 #…
原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现设置播放中断时满足缓存够一定数量才继续播放的功能 实现设置缓存数量最大限制,即缓存够一定数量即停止缓存,减少开销 实现缓存中缓存进度的获取 二.示例(GIF) 三.实现: 1.UI部分 添加用户控件:BufferPlayControl.Xaml 设置Slider样式 <!--Slider模板-->…
作用AVPLayer:可以用来播放在线及本地音视频AVAudioSession:音频会话,主要用来管理音频设置与硬件交互使用时需要导入 #import <AVFoundation/AVFoundation.h> AVAudioSession中配置选项: AVAudioSessionCategory 注意:除了 AVAudioSessionCategoryMultiRoute 外,其他的 Category 都遵循 last in wins 原则,即最后接入的音频设备作为输入或输出的主设备. 1.…
IJKPlayer拖动播放进度会导致重新请求数据,未使用已经缓冲好的数据,所以应该尽量控制缓冲区大小,减少不必要的数据损失. mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 100 * 1024);//设置缓冲区为100KB,目前我看来,多缓冲了4秒 mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "…
此版本使用百度音乐接口,原因是豆瓣接口很多歌曲没办法找到歌词. 此版本添加了歌词的显示.上一曲.下一曲的实现.歌曲列表指明当前歌曲. 下面来看一下实现过程>>> 一.项目准备: 百度音乐国语歌曲列表Api接口: http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.song.getSmartSongList&page_no=1&page_size=50&scene_id=42&…
本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5871134.html 该程序是本人的个人作品,写的不好,可以参考,但未经本人允许,请不要用于其它用途! 早上写了个首页进度加载动画,本想在我的博客里用上,测试发现博客园加载太快,根本看不到动画效果,直接就加载'Complete'了,算了,还是不要把博客搞得太臃肿了! 于是我就写了个演示页面,在body里加了个iframe来加载大一点的网站,这样就看出效果了! 用Safa…
由于我一直用豆瓣fm听音乐,在网上找了下豆瓣的相关应用,都感觉不是太好, 最后发现一个mac版的app--diumoo! 这个软件看着非常舒服,一点也不占桌面空间,它一直默默在桌面右上角,鼠标划上去会显示详细信息.还支持快捷键进行很方便的快进.后退.下一首.暂停等.每次播放歌曲的时候,还有右上角的滑动标签提示(默认大概5秒就自动消失了),让你知道你马上要听的歌曲是什么. 好了,废话不说了,赶紧去官网看下吧^_^ 官网:http://diumoo.net/…
上周在图书馆借了一本Swift语言实战入门,入个门玩一玩^_^正好这本书的后面有一个2048小游戏的实例,笔者跟着实战了一把. 差不多一周的时间,到今天,游戏的基本功能已基本实现,细节我已不打算继续完善,就这么整理一下过程中一些值得记录的点吧. 用的Swift版本是2.0,原书中的Swift版本会低一些,所以实践起来有些地方语法并不一样. 一.开始页面   在程序的第一张页面(Main.storyboard)上,只放了一个“开始游戏”按钮,点击按钮,弹出一个提示对话框,确认后,进入游戏页面. @…
1.打开项目QQMusic,然后点菜单:“File-New-Target”添加appleWatch扩展项 2.选择Swift语言,把Include Notification Scene前的勾去掉 (项目暂时不需要做ios端的通知) 3.在 WatchKit Extension的Compile Sources 中添加QQMusic项目的需要使用的类文件 4.在QQMusic WatchKit Extension包的Images.xcassets里添加资源图片 并且在QQMusic WatchKit…
  var timeObserver = avPlayerVC.player?.addPeriodicTimeObserver(forInterval: CMTime.init(value: , timescale: CMTimeScale(NSEC_PER_SEC)), queue: nil, using: {(cmtime) in let progress = cmtime.seconds / CMTimeGetSeconds(self.avPlayerVC.player!.currentI…