`
houjunli001
  • 浏览: 21859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

android开发音乐播放器之进度条

阅读更多
       我刚学习android没有多长时间,前几天做了一个android版本的音乐播放器,没想到遇到的第一个问题就是播放的进度条,经过查阅文档,找到了解决的方法,我的方法不一定是最好,只是想和大家分享一下,互相学习。

public void onClick(View v) {

ImageButton b=(ImageButton)v; //把View转换成ImageButton

switch(b.getId())     //获得单击按钮的id值
{
    case R.id.starButton:        //单击了star按钮 开始播放
     
    if(musicPlayer.isPlaying())  //如果正在播放,将重置
    {
    musicPlayer.reset();
    }
try {
musicPlayer.setDataSource("sdcard/bb.mp3");
musicPlayer.prepare();
    musicPlayer.start();
   
    musicBar.setMax(musicPlayer.getDuration());
   
    new Thread(new Runnable(){

@Override
public void run() {
while(true){
musicBar.setProgress(musicPlayer.getCurrentPosition()); //获得当前播放的进度值
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

   
}}).start();
    }catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  if(isPause)    //暂停后,播放
  {
  musicPlayer.start();
  isPause=false;
 
  }
   
分享到:
评论
18 楼 枫澈涧 2012-09-19  
这个有个Bug,当你点击停止播放时就会产生异常
17 楼 hanluoqi 2010-07-17  
我想加入频谱分析,那种波浪形的那种呀,不知如何实现呀
16 楼 lishuyan0818 2010-03-22  
alex_hx 写道
如果把Mediaplayer放在Activity里面 是比较简单 但是扩展性就太差了
我现在想把Mediaplayer放到Service里面 然后于Activity通过广播控制
简单的操作都没问题 现在遇到的问题是 如果在Service里同步activity里的进度条。。。 请问哪位有好的建议


我放的sample里面有进度条的控制的呀,通过Broadcast机制实现的。AIDL还没尝试。
15 楼 alex_hx 2010-03-20  
shaobin0604 写道
alex_hx 写道
如果把Mediaplayer放在Activity里面 是比较简单 但是扩展性就太差了
我现在想把Mediaplayer放到Service里面 然后于Activity通过广播控制
简单的操作都没问题 现在遇到的问题是 如果在Service里同步activity里的进度条。。。 请问哪位有好的建议


我感觉 Activity 通过 aidl 调用 Service 获取进度信息好一些

谢谢 已经解决了 就是用aidl
14 楼 shaobin0604 2010-03-19  
alex_hx 写道
如果把Mediaplayer放在Activity里面 是比较简单 但是扩展性就太差了
我现在想把Mediaplayer放到Service里面 然后于Activity通过广播控制
简单的操作都没问题 现在遇到的问题是 如果在Service里同步activity里的进度条。。。 请问哪位有好的建议


我感觉 Activity 通过 aidl 调用 Service 获取进度信息好一些
13 楼 alex_hx 2010-03-19  
如果把Mediaplayer放在Activity里面 是比较简单 但是扩展性就太差了
我现在想把Mediaplayer放到Service里面 然后于Activity通过广播控制
简单的操作都没问题 现在遇到的问题是 如果在Service里同步activity里的进度条。。。 请问哪位有好的建议
12 楼 llbgurs 2010-03-18  
Android UI操作并不是线程安全,如果你的Music都是在Activity里处理,可以考虑用Handler或者AsyncTask。

如果你想把music放在Service里,估计得用aidl
11 楼 houjunli001 2010-03-17  
bluewing 写道
你所说的例子我也看过。。不过我去掉了暂停一秒再显示。
Thread.sleep(1000);
改为直接刷新。还有个问题就是考虑如何把网络的歌曲缓存到SD卡上。

如果在手机上实现 在线播放音乐,这个我也想过,youku的手机版本就实习了,不知道是怎么弄的,有时间得研究一下,但是现在实现把网络上的歌曲下载到手机SD卡上,下载完毕之后再去播放,播放完之后问用户,是否保留歌曲,如果不保留就自动删除了。
10 楼 lishuyan0818 2010-03-17  
感觉android这种东西封装的太死。一点儿都不灵活。
也许是我还没有入门吧。
9 楼 lishuyan0818 2010-03-17  
进度条这个跟我的想法差不多。我这里有个简单例子。是仿照深入浅出 google android上的例子改的。



本来想加上歌词同步功能的。比较懒,没搞。

但是要绘制波形比较麻烦,麻烦的不是绘制,而是要通过FFP(快速傅里叶算法)算法进行频谱分析。这个我还没搞懂。有知道的童鞋麻烦讲解一下。

MediaPlayer是可以传入url进行网络歌曲播放的吧。但是我怎么一边听,一边把这些流数据保存起来呢?下次我就不用在从网上下载了。貌似MediaPlayer没有这样的接口。

还有一个问题。如果我要把一个mp3音乐中的某一段截取为一个mp3文件,又该怎么搞了。

在论坛里面提问题了。但没人解答。郁闷中。
8 楼 chenjuncong 2010-03-16  
houjunli001 写道
chenjuncong 写道
大虾,能把你做的demo分享一下吗,我现在也在做这个,但是好几天了还没有搞定,我播放的也是本地文件,试了一下你的方法,好像不行,“ImageButton b=(ImageButton)v”你这个“V”指的是什么啊?



这个还在开发中,估计一周后,我会把代码和大家一起交流的。

ImageButton b=(ImageButton)v 这个只是把View  强转为了ImageButton类型。

期待
7 楼 BarryWei 2010-03-15  
bluewing 写道
你所说的例子我也看过。。不过我去掉了暂停一秒再显示。
Thread.sleep(1000);
改为直接刷新。还有个问题就是考虑如何把网络的歌曲缓存到SD卡上。

缓存歌曲到SD上,比较恐怖。要实现网络上的数据读取,可能会比较慢。
今天有点忙,改天放一段代码给你参考。
6 楼 bluewing 2010-03-15  
你所说的例子我也看过。。不过我去掉了暂停一秒再显示。
Thread.sleep(1000);
改为直接刷新。还有个问题就是考虑如何把网络的歌曲缓存到SD卡上。
5 楼 houjunli001 2010-03-15  
chenjuncong 写道
大虾,能把你做的demo分享一下吗,我现在也在做这个,但是好几天了还没有搞定,我播放的也是本地文件,试了一下你的方法,好像不行,“ImageButton b=(ImageButton)v”你这个“V”指的是什么啊?



这个还在开发中,估计一周后,我会把代码和大家一起交流的。

ImageButton b=(ImageButton)v 这个只是把View  强转为了ImageButton类型。
4 楼 BarryWei 2010-03-15  
chenjuncong 写道
BarryWei 写道
除了进度条之外,还有一个问题也挺麻烦的。
在播放音乐的时候,如果要实现波动图,估计只有自己画出来才可以。

BarryWeiw你有没有波动图的代码啊?

没有呢,不久前想做一个player,就想到过这个问题。
我查了api,没有类似的功能。后来别人提示说,paint应该可以,我就晕了……
3 楼 chenjuncong 2010-03-15  
BarryWei 写道
除了进度条之外,还有一个问题也挺麻烦的。
在播放音乐的时候,如果要实现波动图,估计只有自己画出来才可以。

BarryWeiw你有没有波动图的代码啊?
2 楼 BarryWei 2010-03-15  
除了进度条之外,还有一个问题也挺麻烦的。
在播放音乐的时候,如果要实现波动图,估计只有自己画出来才可以。
1 楼 chenjuncong 2010-03-15  
大虾,能把你做的demo分享一下吗,我现在也在做这个,但是好几天了还没有搞定,我播放的也是本地文件,试了一下你的方法,好像不行,“ImageButton b=(ImageButton)v”你这个“V”指的是什么啊?

相关推荐

    音乐播放器之进度条控制音量大小

    在开发音乐播放器时,进度条常常被用来作为音量控制的一个重要元素。"音乐播放器之进度条控制音量大小"这个主题涉及到音频处理、用户界面设计以及编程技术等多个方面。下面将详细阐述如何实现这一功能。 首先,我们...

    基于Android Studio开发的音乐播放器APP源码Android 音乐播放器源码

    通过分析这个基于Android Studio的音乐播放器源码,开发者不仅可以学习到如何构建一个完整的音乐播放应用,还能深入理解Android平台上的多媒体处理、用户界面设计、服务组件使用等核心概念,为今后的Android开发打下...

    android音乐播放器中的进度条(音量控制+进度)

    在Android平台上开发一款音乐播放器应用时,进度条是一个至关重要的元素,它通常包含两个功能:音量控制和播放进度调整。在这个专题中,我们将深入探讨如何实现这两个关键功能。 首先,音量控制是Android设备上任何...

    Android 带进度条的使用Service实现的音乐播放器

    在Android开发中,创建一个带有进度条的音乐播放器是一个常见的需求。本项目"Android 带进度条的使用Service实现的音乐播放器"聚焦于如何在后台Service中使用MediaPlayer类来实现音乐播放,并结合UI界面展示播放进度...

    简单实现音乐播放器进度条功能

    这个"简单实现音乐播放器进度条功能"的项目,旨在教你如何在编程环境中创建一个基本的音乐播放器,包括播放、暂停和切换歌曲的能力,并通过进度条展示当前播放进度。我们将探讨以下关键知识点: 1. **媒体播放API**...

    Android studio开发的音乐播放器.zip

    在开发音乐播放器时,主要涉及以下几个核心知识点: 1. **媒体播放框架**:Android提供了一个强大的多媒体框架,包括`MediaPlayer`类,用于播放音频和视频文件。在这个音乐播放器中,`MediaPlayer`被用来加载、控制...

    android Mp3音乐播放器,带歌词,带进度条

    总的来说,开发一个带有歌词和进度条的Android MP3音乐播放器是一个综合性的任务,涵盖了Android开发的多个方面,包括UI设计、文件系统交互、服务、多线程以及音频处理。通过这样的项目,开发者可以深入理解Android...

    android实战 音乐播放器(android studio源程序工程)

    3. **UI设计**:使用Android的布局管理系统(如LinearLayout, RelativeLayout或ConstraintLayout)创建音乐播放器的界面,包括播放/暂停按钮、进度条、歌曲列表等。还需理解XML布局文件的编写和与Java代码的交互。 ...

    android实现音乐播放器进度条效果

    Android实现音乐播放器进度条效果是Android开发中常见的功能 Requirements。以下是实现音乐播放器进度条效果的详细知识点: 一、概述 Android实现音乐播放器进度条效果主要通过三个对象实现:MediaPlayer、SeekBar...

    Android在线音乐播放器很实用Android开发

    在Android平台上,开发一款在线音乐播放器是一项技术性较强的任务,涉及到多个关键知识点。下面将详细阐述这些要点。 首先,我们需要了解Android应用的基础架构。一个典型的Android应用由多个组件构成,如活动...

    android自己开发dlna音乐播放器 支持网络 本地 播放值得学习

    在Android平台上,开发一个自定义的DLNA音乐播放器是一个技术含量较高的任务,涉及到多媒体处理、网络通信以及设备互操作性等多个方面的知识。本项目"android自己开发dlna音乐播放器 支持网络 本地 播放值得学习...

    基于android的音乐播放器(本地播放+在线播放+歌词).rar

    该项目完成对音乐的的专属软件设计,包含本地播放手机上的音乐,还能播放在线音乐,同时具备歌词的同步,具备音乐播放的进度条,可以拖动进度条播放音乐,以及上一曲,下一曲,播放,暂停以及调整随机播放,顺序播放...

    简单的Android音乐播放器

    【Android音乐播放器开发概述】 在移动应用领域,Android音乐播放器是常见且实用的应用类型。这个项目"简单的Android音乐播放器"旨在提供一个基础框架,让用户能够进行音乐的播放、暂停、上一曲和下一曲操作,并且...

    基于android的音乐播放器源码

    在Android平台上开发音乐播放器,首先要了解的是Android Media Framework。这是一个核心的多媒体处理系统,它包含了多种组件,如MediaPlayer、AudioTrack和MediaRecorder等,用于播放、录制和处理音频和视频。...

    android音乐播放器demo

    在Android平台上开发一款音乐播放器应用是一个常见的任务,它涉及到许多关键技术和组件的理解与应用。以下将详细解析“android音乐播放器demo”所涵盖的知识点。 首先,Android音乐播放器的核心是媒体播放服务...

    Android实现简单音乐播放器(MediaPlayer)

    Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能有: 播放、暂停功能; 进度条显示...

    Android Studio 简易音乐播放器

    Android Studio开发的简易音乐播放器app,读取本地SD卡指定路径的mp3文件进行播放,实现以下功能: 1. 播放、暂停,停止,退出功能; 2. 后台播放功能;(service) 3. 进度条显示播放进度、拖动进度条改变进度功能...

    基于Android Studio开发的安卓的音乐播放器app

    在Android平台上,开发一款音乐...总的来说,基于Android Studio开发音乐播放器App是一个综合性的项目,涉及到前端UI设计、后端数据处理、多媒体播放等多个技术领域,对于提升开发者的技术能力和实践经验具有很大帮助。

    音乐播放器进度条library

    "音乐播放器进度条library"是一个专为Android应用程序设计的开源组件,它提供了自定义的进度条视图,特别适用于音乐播放器应用,以优雅的方式展示歌曲的播放进度。这个库被称为MaskPrgressView,开发者可以利用它来...

    Android迷你音乐播放器

    在Android平台上开发一款迷你音乐播放器,涉及到许多关键的技术点和功能实现。下面将详细解析这个"Android迷你音乐播放器"项目所涵盖的IT知识。 首先,我们要理解Android操作系统的基本架构。Android是一个基于...

Global site tag (gtag.js) - Google Analytics