具体做法是仿照系统的RockAudioPlayer,我也是通过查看源码,然后把它简化出来,更容易于应用。通过自定义一个RepeatingImageButton,当然这个名字可以自己更改,RepeatingImageButton里的代码可以查看RockAudioPlayer的源码,我这里只给出经过简化过的java代码。

1 public class MainActivity extends Activity {
2 /** Called when the activity is first created. edit by etgyd*/
3 private RepeatingImageButton last;
4 @Override
5 public void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.main);
8 last = (RepeatingImageButton) findViewById(R.id.last);
9 last.setRepeatListener(rep, 260);
10 last.setOnClickListener(new OnClickListener() {
11
12 @Override
13 public void onClick(View v) {
14 // TODO Auto-generated method stub
15   System.out.println("last");
16 }
17 });
18 }
19
20 private RepeatingImageButton.RepeatListener rep = new RepeatingImageButton.RepeatListener() {
21
22 @Override
23 public void onRepeat(View v, long duration, int repeatcount) {
24 // TODO Auto-generated method stub
25 scanBackward(repeatcount, duration);
26 }
27 };
28
29 private void scanBackward(int repcnt, long delta) {
30 try {
31 if (delta < 5000) {
32 // seek at 10x speed for the first 5 seconds
33 delta = delta * 10;
34 System.out.println("long pause" + delta);
35 } else {
36 // seek at 40x after that
37 delta = 50000 + (delta - 5000) * 40;
38 System.out.println("long pause fast");
39 }
40 } catch (Exception ex) {
41 }
42 }
43 }

转载于:https://www.cnblogs.com/etgyd/archive/2011/04/12/2013762.html

自定义ImageButton,实现快进快退功能相关推荐

  1. Android FFmpeg系列——7 实现快进/快退功能

    Android FFmpeg系列--0 编译.so库 Android FFmpeg系列--1 播放视频 Android FFmpeg系列--2 播放音频 Android FFmpeg系列--3 C多线 ...

  2. 如何实现视频的快进快退功能(整理)

    最近在研究视频的播放的快进快退功能,先把相关的调研结果整理一下,做个记录. 裸的H264码流,如果实现快进快退必须基于 I 帧才能实现:在播放前对整个码流进行统计,总共有多少帧,所有的 I 帧在什么位 ...

  3. 安卓平板倍速_推荐:安卓上本地音频播放器,可实现5秒快进快退和倍速播放...

    前一篇文章推荐过一个app,但那app没倍速播放功能.我又找到了一个更完美的app 安卓手机上我自己需要这样一款app,主要用来听电子书,知识音频等.需要能实现快进快退几秒钟的以及倍速播放功能.这功能 ...

  4. 十、FFmpeg视频播放之快进快退

    1.处理快进快退(seek)命令 本章我将给大家讲解怎么给我们的播放器添加快进.快退.定位功能,这也是几乎所有播放器都有的功能.为实现此功能,我们要用到av_seek_frame函数,这个函数非常简单 ...

  5. Java后端处理video快进快退播放以及断点续传的原理和代码

    video 快进快退的原理: 通过对所在服务器上的流媒体进行skip操作,然后再response的header里设置相应的Content-Range以及其他属性,来控制视频流的快进快退的功能. 断点续 ...

  6. ffmpeg播放器快进快退(七)

    指导7:快进快退 处理快进快退命令 现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的.同时,这将告诉你av_seek_frame函数是多么容易使用. 我们 ...

  7. Silverlight 5 beta新特性探索系列:9.视频快进快退和TextSearch对象对文字项查询

    本节讲诉两个新特性:一.在Silverlight 5中可以控制MediaElement对象播放的视频进行快进快退控制.二.在Silverlight 5中的文字项进行搜索查询. 一.对于MediaEle ...

  8. python 循环播放音乐_python gstreamer实现视频快进/快退/循环播放功能

    这篇文章主要介绍了python gstreamer 实现视频快进/快退/循环播放功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 Gstreamer到底是个啥? ...

  9. ts, mp4文件快进快退(seek)原理

    最近用potplayer播放一些ts文件,seek(快进快退)发现会有卡顿问题,但是同一个文件用mp4转封装之后seek就很快很流畅了.所以抽空研究了ffplay 对mp4文件和ts文件的 seek ...

  10. MediaPlayer+SeekBar暂停快进快退

    MediaPlayer+SeekBar暂停快进快退 首先是,如何能够播放一个视频(网络权限小伙伴们自己盘上) 然后是进度条Seekbar 然后是点击时改变视频播放进度 最后是暂停和继续, INTERE ...

最新文章

  1. JavaScript 面向对象 (prototype 原型模式)
  2. E. Turn Off The TV Educational Codeforces Round 29
  3. 一套扁平化界面风格的flex 皮肤
  4. raid 物理盘缓存状态_服务器raid卡、磁盘缓存的配置策略
  5. c语言小游戏 精简_一个简易的贪吃蛇小游戏C语言源码
  6. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释
  7. 42 MM配置-采购-条件-定义工厂层的条件控制
  8. java json 本身_JSON以及Java转换JSON的方法(前后端常用处理方法)
  9. Duilib使用---颜色配置
  10. 【PDF合并】滴滴出行电子发票及行程报销单【一页打印】
  11. java水果忍者7723_水果忍者之天下第一
  12. android飞信群发助手
  13. Java中一个数的N次方
  14. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02
  15. 【BUG记录】关于os.chdir()改变路径导致的FileNotFound报错
  16. CSS写的青色漂亮导航菜单代码
  17. Unity 3D 脚本参考
  18. 一、Android Matrix 矩阵
  19. mysql rollback作用_innodb_rollback_on_timeout的作用
  20. 怎样获取淘宝/天猫商品评论API数据

热门文章

  1. 九大背包问题专题--二维费用的背包问题
  2. 标识符的作用域与可见性
  3. Codecraft-18 and Codeforces Round #458: D. Bash and a Tough Math Puzzle(线段树)
  4. 使用不同的膨胀和腐蚀方法对图像进行处理
  5. javascript手机号码、电子邮件正则表达式 一种解决方案
  6. matlab2c使用c++实现matlab函数系列教程-unique函数
  7. BIOS和DOS中断例程的安装过程
  8. 流媒体服务器设计文档,流媒体服务器设文档.doc
  9. 测开之路二十二:迭代器、生成器
  10. centos7安装rabbitmq 总结