热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android四大组件之Service播放音乐

首先定义接口packagecom.example.musicplay;publicinterfacePlayInterface{voidplay();voidplayContiue

首先定义接口

package com.example.musicplay;public interface PlayInterface {void play();void playContiue();void pause();
}

package com.example.musicplay;import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Binder;
import android.os.IBinder;public class PlayService extends Service {private MediaPlayer mediaPlayer;@Overridepublic IBinder onBind(Intent intent) {// TODO: Return the communication channel to the service.return new MusicBinder();}class MusicBinder extends Binder implements PlayInterface{@Overridepublic void play() {// TODO Auto-generated method stubPlayService.this.play();}@Overridepublic void playContiue() {// TODO Auto-generated method stubPlayService.this.playContiue();}@Overridepublic void pause() {// TODO Auto-generated method stubPlayService.this.pause();}}@Overridepublic void onCreate() {mediaPlayer = new MediaPlayer();}private void play(){//重置
mediaPlayer.reset();try {mediaPlayer.setDataSource("sdcard/Charlotte Perrelli - Hero.mp3");//准备
mediaPlayer.prepare();} catch (Exception e) {// TODO Auto-generated catcssh block
e.printStackTrace();}mediaPlayer.start();}private void playContiue(){mediaPlayer.start();}private void pause(){mediaPlayer.pause();}
}

package com.example.musicplay;import android.os.Bundle;
import android.os.IBinder;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;public class MainActivity extends Activity {private PlayInterface p;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = new Intent(this,PlayService.class);startService(intent);bindService(intent, new Conn(), BIND_AUTO_CREATE);findViewById(R.id.paly).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {p.play();}});findViewById(R.id.contiue).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {p.playContiue();}});findViewById(R.id.pause).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub
p.pause();}});}class Conn implements ServiceConnection{@Overridepublic void onServiceConnected(ComponentName arg0, IBinder arg1) {// TODO Auto-generated method stubp = (PlayInterface) arg1;}@Overridepublic void onServiceDisconnected(ComponentName arg0) {// TODO Auto-generated method stub
}}}

 

转:https://www.cnblogs.com/84126858jmz/p/4977591.html



推荐阅读
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
author-avatar
大布丁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有