Android 多媒体(播放应用内的音乐)

Android---多媒体(音乐播放器) 阅读详情

音乐播放器实现一是放在应用程序里面的,在后面的博客我会说到在手机内存和网络中的播放器,所以,有需要的话,可以去看看我后面的那些博客!由于思路比较清晰,代码量也不是很多而且挺简单的,所以在这里我就直接放代码了。

xml布局文件:

[html]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     xmlns:app="http://schemas.android.com/apk/res-auto"  
  5.     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"  
  6.     android:layout_height="match_parent"  
  7.     tools:context="com.zking.laci.android27_playmusic.MainActivity"  
  8.     android:orientation="vertical"  
  9.     >  
  10. <SeekBar  
  11.     android:layout_width="match_parent"  
  12.     android:layout_height="wrap_content"  
  13.     android:id="@+id/sb_main_play"  
  14.     />  
  15.     <ImageButton  
  16.         android:layout_width="wrap_content"  
  17.         android:layout_height="wrap_content"  
  18.         android:background="@android:drawable/ic_media_play"  
  19.         android:onClick="playOrPause"  
  20.         />  
  21.   
  22. </LinearLayout>  

activity--java代码:

[java]  view plain  copy
  1. package com.zking.laci.android27_playmusic;  
  2.   
  3. import android.media.MediaPlayer;  
  4. import android.support.v7.app.AppCompatActivity;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.widget.ImageButton;  
  8. import android.widget.SeekBar;  
  9.   
  10. public class MainActivity extends AppCompatActivity {  
  11.   
  12.     private MediaPlayer mediaPlayer;  
  13.     private SeekBar sb_main_play;  
  14.   
  15.     @Override  
  16.     protected void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.activity_main);  
  19.         sb_main_play = (SeekBar) findViewById(R.id.sb_main_play);  
  20.   
  21.         sb_main_play.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {  
  22.             @Override  
  23.             public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {  
  24.             }  
  25.   
  26.             @Override  
  27.             public void onStartTrackingTouch(SeekBar seekBar) {  
  28.             }  
  29.   
  30.             @Override  
  31.             public void onStopTrackingTouch(SeekBar seekBar) {  
  32.                 //获取当前进度条位置  
  33.                 int currentPosition=seekBar.getProgress();  
  34.                 //跳转到某个位置播放  
  35.                 mediaPlayer.seekTo(currentPosition);  
  36.             }  
  37.         });  
  38.     }  
  39.   
  40.     public void playOrPause(View view){  
  41.         ImageButton ib= (ImageButton) view;  
  42.         if(mediaPlayer==null){//如果没有歌  
  43.             mediaPlayer = MediaPlayer.create(this, R.raw.a);  
  44.             mediaPlayer.start();  
  45.             ib.setImageResource(android.R.drawable.ic_media_pause);  
  46.             //获得音乐的播放时间  
  47.             int time=mediaPlayer.getDuration();  
  48.             //设置最大值为音乐播放的时间  
  49.             sb_main_play.setMax(time);  
  50.             new MyThread().start();  
  51.   
  52.         }else if(mediaPlayer.isPlaying()){//如果正在播放  
  53.             //暂停  
  54.             mediaPlayer.pause();  
  55.             //开始图标  
  56.             ib.setImageResource(android.R.drawable.ic_media_play);  
  57.         }else {  
  58.             //开始播放  
  59.             mediaPlayer.start();  
  60.             //暂停图标  
  61.             ib.setImageResource(android.R.drawable.ic_media_pause);  
  62.   
  63.         }  
  64.     }  
  65.   
  66.     class MyThread extends Thread{  
  67.         @Override  
  68.         public void run() {  
  69.             super.run();  
  70.             while(sb_main_play.getProgress()<sb_main_play.getMax()){  
  71.                 //获得音乐当前的播放位置  
  72.                 int currentPosition=mediaPlayer.getCurrentPosition();  
  73.                 sb_main_play.setProgress(currentPosition);  
  74.             }  
  75.         }  
  76.     }  
  77. }  
Android多媒体开发 Android多媒体开发系列文章 Android多媒体开发:录音机 Android多媒体开发:照相机 Android多媒体开发:第三方框架 一、什么是多媒体 多媒体(duō méi tǐ) 的英文单词是Multimedia,它由media和multi两部分组成。一般理解为多种媒体的综合 多媒体是计算机和视频技术的结合,实际上它是两个媒体;声音和图像,或者用现在的术语:音响和电视。 多媒体(Multi 阅读详情

相关推荐

Android 课设之个人音乐播放器

这是一个简单的安卓课设之个人音乐播放器App

qq_53317005的博客 5535

android开发之实现应用内音乐的播放

由于代码比较简单,这里主要贴出代码,重要的部分有注释 1.文件结构 2.activity_main.xml布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:l...

马马也的个人博客 887

Android 实现音乐播放

Android系统能够录制、播放各种不同形式的本地和流式多媒体文件。Android的多媒体系统为Android设备多媒体的开发和应用提供了非常好的平台。今天给大家分享的是音乐播放器: 播放音乐有三种方式: ①.播放应用程序中的音乐 ②.播放手机内存卡中的音乐 ③.播放网络资源上的音乐第一种方式:播放应用程序中的音乐 首先在应用程序的res文件夹下新建raw文件夹,将音乐放入此文件夹中,注意

zhangkaidsy的博客 2612

Android 多媒体之播放音乐

界面如下布局文件如下&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:too...

FREE_CODER 318

全面解析Android音乐播放器开发

本文还有配套的精品资源,点击获取 简介:在Android平台上开发音乐播放器是一个涉及多媒体处理、用户界面设计和系统服务交互的综合性项目。本项目提供了完整的音乐播放器源码,覆盖了从基本的多媒体框架使用到高级特性的实现。源码中包含了 MediaPlayer 类的使用, ContentProvider 的交互,UI设计的最佳实践,通知栏控制,服务和 ...

weixin_30021053的博客 2488

安卓音乐播放器开发实战教程

在开发安卓音乐播放器时,Android提供的多媒体框架是核心基础设施。这一框架支持各种媒体类型,包括音乐播放器所关注的音频播放。多媒体框架能够访问和控制设备上的多媒体硬件,为应用提供了播放音频和视频、录制音频和视频以及处理音视频数据的能力。音频焦点管理是框架中一个重要的功能,它确保音乐播放器在适当的时机能够播放音乐,在不应该发出声音的时候静音或降低音量,例如来电时。为了提供个性化的用户体验,视图组件的自定义是不可或缺的。

weixin_42103128的博客 1146

Android四大组件之四:BroadcastReceiver 广播接收器

1.BroadcastReceiver 广播接收器 (Android四大组件之一)   [1]用途:接收广播。可以接收系统广播,可以接收其它应用程序的广播,可以接收其它组件的广播。   [2]生命周期:只有十秒种,不能在广播接收器中做耗时的操作。   [3]注意:如果接收系统广播,需要添加权限。            接收广播的种类在清单文件中设置                  

安静的美男子 537

安卓Android源码——音乐播放器源码深度解析

本文还有配套的精品资源,点击获取 简介:本源码文件提供了安卓平台上音乐播放器应用的完整源代码,适合作为学习移动应用开发的实践项目。通过深入源码,开发者将掌握Android系统的多媒体处理、UI设计、事件处理和权限管理等关键技术点。内容涵盖多媒体框架使用、文件系统操作、UI组件应用、后台服务处理、应用生命周期管理、通知栏控制、异步处理技术、权限请求和流媒体播放等核心开发概念。...

weixin_32747681的博客 1374

Android 字体+程序隐藏+菜单运用+soundpool

package xiyangyang.co.cc; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.Timer; import java.util.TimerTask;

548

android应用播放raw文件中的音乐

在android应用播放raw文件中的音乐,支持raw,mp3等格式

Android之通过网络播放一首音乐

Android通过网络播放一首音乐的代码

Android Studio实现多媒体播放器,音乐视频一体化

这次的网络版音乐视频播放器是在前面讲到的音乐播放器项目(Android Studio如何实现音乐播放器)基础上,将音乐文件与项目文件独立开,放在服务器的文件夹里面进行访问,除此之外还添加了视频播放器功能。本次项目综合了Android几乎所有知识,可以让大家熟练掌握Android程序开发的基本技术,涉及Android 基础知识、UI界面、数据存储、四大组件、网络编程、高级编程、多媒体播放器、适配器配置等。大家熟练掌握可以对以后的Android开发有非常大的帮助。

振华OPPO的博客世界 3万+

ubuntu安装英伟达显卡驱动后wifi消失解决方法

ubuntu安装英伟达显卡驱动后(比如4090和3090等),会把wifi和蓝牙驱动去除,导致wifi无法连接。需要重新下载驱动安装。

人工智能(AI)技术,大模型技术,深度学习,机器学习,计算机视觉,AI工具实践应用等分享 3903

android从网络播放音乐,Android实现多媒体之播放音乐

闲来无聊,最近了解了一下多媒体的一些初步知识。音频播放主要设计到MediaPlayer这个类,播放音频的路径可以来源于三个地方。1.应用内的音频public class MediaPlayActivity extends AppCompatActivity {private SeekBar seekBar;private MediaPlayer mediaPlayer;@Overrideprote...

weixin_36150766的博客 879

通过HTTP的方式克隆GitHub上的项目

通过HTTP的方式克隆GitHub上的项目 打开想要下载的项目的网页链接,点击Clone or download绿色的按钮,进行如下步骤实现通过HTP的方式下载项目。 点击红色框圈出的位置: 打开想要存放项目的文件夹,在空白处点击鼠标右键,选择Git Bash Here,打开命令行。 输入git clone 复制的下载地址,回车进行下载。 4.正在下载的界面 5.下载完成。 技多不压身 哦耶✌✌✌ ...

weixin_37826412的博客 3202

WPF MVVM实战:构建可绑定的RichTextBox富文本编辑器

本文详细介绍了如何在WPF MVVM模式下构建可绑定的RichTextBox富文本编辑器,解决标准RichTextBox.Document属性不支持数据绑定的问题。通过创建自定义BindableRichTextBox控件,实现FlowDocument的绑定支持,并分享插入图片、文本格式控制等实战技巧,帮助开发者高效开发富文本编辑功能。

weixin_33717117的博客 307

【android学习之十四】——多媒体1:音乐播放

声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误还请大家多多批评。今天开始学习多媒体相关的操作,因为我们的智能手机一部分重要的作用就是播放音频,视频,显示图片等操作。Android主要是通过Open Core作为多媒体框架的核心,也被称作为PV,支持多种格式的音频

jercy的专栏 3642

雷电模拟器+Python 3.11:手把手教你用Frida-dexdump给安卓APK脱壳(附GDA查壳)

本文详细介绍了如何使用雷电模拟器和Python 3.11配合Frida-dexdump工具进行安卓APK脱壳的全流程。从环境配置、工具安装到脱壳操作和问题排查,提供了包含30+关键截图的保姆级教程,适合零基础用户快速上手。重点讲解了Frida工具链的使用技巧和GDA查壳方法,帮助读者掌握移动应用安全分析的基础技能。

weixin_42568801的博客 328

Android入门之本地音乐播放器

折腾了个把星期的业余时间完善的音乐播放器,立帖为证,先发个帖存备忘,步骤代码以后贴上。

Harrison509的博客 7187

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户

1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的...

steventian72的博客 3万+

VS2019项目使用CGAL6.1配置教程详细步骤

在VS2019项目中使用CGAL详细步骤

插件开发 331

Android MediaPlayer 实现音乐播放器

效果图: 在写代码之前,我先告诉你们一个坑点,我在实现这个功能的时候,在导入raw文件时遇到了一个坑,找不到这个文件夹,如果你们也遇到了这种情况,参考我之前写的一篇博客,即可解决问题:https://blog.youkuaiyun.com/qq_27494201/article/details/96334284 MainActivity.java public class MainActivity exte...

qq_27494201的博客 8671

Scratch全攻略:从入门到实践的编程之旅

Scratch 是一款由麻省理工学院(MIT)开发的图形化编程工具 ,它诞生的初衷是为了让编程教育更加普及,尤其是让孩子们能够轻松接触和学习编程。与传统的基于文本代码的编程方式不同,Scratch 通过将编程指令以图形化的积木形式呈现,极大地降低了编程的门槛,让编程变得如同搭积木一样简单有趣。

邓邓子的博客 1万+

【Android】安卓多媒体之通知、摄像头、相册、播放音乐、视频用法总结

用户可以通过设置选择是否允许敏感的通知内容显示在安全的锁屏上。富文本通知指的是可以展示复杂内容的通知,例如包含多种样式的文本、图片、链接等。来进行震动、灯光、音效的设置,且通知必须添加通知渠道,同样需进行版本判断,否则通知不会被发送。的通知可以展示一系列的消息,仿佛是一个对话线程,让用户能够在通知栏中查看消息交流的上下文。的机制,可以在将来某个时刻代替应用程序的进程执行特定的操作,即使应用程序不在运行中。用于显示一组消息的列表,适合显示多个简短的消息。来设置通知的震动、灯光、音效的设置,新内容加了。

Patrick_yuxuan的博客 1110

S7-1500——(一)西门子PLC编程算法及程序设计1、拆解基本算法(一)

顺序队列也是一种操作受限的线性表,在一端添加数据,另一端取出数据,符合先进先出的特性工作过程:需要两个指针来指向存取元素的位置(头指针,尾指针)如下图头指针指向队列里边第一个元素位置(即下次出队元素所在的位置)尾指针是指向队列内最后一个元素的下一个位置(即下次要入队的元素要存放的位置)空队状态:最初始状态,队列没有任何元素,头指针和尾指针都指向队头,(由于没有任何元素,不能做出队操作,可进行入队操作)入队操作出队操作满队:一直入队,最终元素装满队列;满队后,虽然队列前面还有空间,但由于。

大小曲奇的博客 1607

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android:使用MediaPlayer播放本地音乐

Android:使用MediaPlayer播放本地音乐标签(空格分隔): androidAndroid使用MediaPlayer播放本地音乐 一装载音频 1 静态方法 2 动态加载 3 两种方式对比 二MediaPlayer的控制方法 三事件监听 1 准备监听事件 2 完成监听事件 3 错误监听事件 4 定位监听事件 四进度控制 1 添加SeekBar控件 2 给SeekBar设置监听 3 在启动播

陈小默的博客 2万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Android ContentResolver 获取手机联系人
下一篇: Adroid 多媒体(读取手机内存卡内的音乐文件)
南岸北栀
博客等级 码龄10年 32粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值