这几天浏览了下《Android应用开发揭秘》,大致看感觉不错。有不少实例,于是按书仿写了其中实例音乐播放器。但是仿写完发现老出现个奇怪的异常,android java.io.IOException: prepare failed.:status=0x1,于是试了多种方式都不行,于是网上搜搜资料,还真有同样的问题。
源代码的播放功能实现如下:
mMediaPlayer.reset(); mMediaPlayer.setDataSource(filePath);//异常在这里,filePath为要播放的歌曲全路径 mMediaPlayer.prepare(); mMediaPlayer.start(); mMediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { nextMusic(); } });
将mMediaPlayer.setDataSource(filePath); 修改为如下:
mMediaPlayer.reset(); //mMediaPlayer.setDataSource(filePath); FileInputStream fio = new FileInputStream(new File(filePath));//修改后 mMediaPlayer.setDataSource(fio.getFD()); mMediaPlayer.prepare(); mMediaPlayer.start(); mMediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { nextMusic(); } });
重新运行播放器,问题解决。记下来,与大家分享。
相关推荐
网易云音乐是一款非常优秀的音乐播放器,尤其是播放界面,使用唱盘机风格,显得格外古典优雅。笔者出于学习与挑战的想法,思考播放界面背后的实现原理,并写了一个小程序。 笔者尽可能地去模仿官方的视觉、交互...
本项目为一款基于微信小程序的仿写Apple Music音乐播放器程序,旨在为用户提供一个高品质、易用的音乐播放体验,同时满足音乐爱好者对个性化推荐和社交分享的需求。 项目功能介绍: 1. 音乐库:程序提供丰富的音乐...
vue仿写的qq音乐播放器
【Android 仿写3DM游戏资讯客户端】 在Android开发领域,构建一款类似3DM游戏资讯客户端的项目是一项挑战,涉及到多个技术层面。本项目旨在模仿3DM游戏资讯客户端,实现其核心功能,如新闻浏览、评论互动等,帮助...
Android 仿写的微信的源码分享,控件中用了腾讯微信的资源文件~实现启动界面、注册微信、搜索好友、登录微信,气泡聊天、通讯录、朋友圈、摇一尧设置界面、发超聊天、听筒模式、登录网页版、扫一扫等众多功能,可以...
在本项目中,我们主要探讨如何使用Qt库中的QListWidget组件来创建一个仿音乐播放器的列表功能。QListWidget是Qt GUI编程中常用的一个控件,它允许用户显示和交互一系列项,非常适合用于创建播放列表这样的界面。 ...
在QQ音乐主页的仿写中,你可能需要学习DOM操作(Document Object Model,文档对象模型),如`document.getElementById`或`document.querySelector`来选取特定元素,然后使用事件监听器(`addEventListener`)添加...
7. **版权和合法使用**:在仿写过程中,需要注意音乐版权问题,确保所有使用的音乐资源都有合法授权,避免侵权风险。 通过研究这个仿写源码,开发者不仅可以提升技术技能,还能了解一个完整的音乐播放器项目从构思...
12. **测试与调试**:编写单元测试和集成测试,使用Android Studio的调试工具进行问题排查。 13. **版本控制**:使用Git进行版本控制,协同开发,提交和回滚代码。 14. **Gradle构建系统**:理解Gradle构建脚本,...
在Android开发领域,仿写流行的应用是初学者学习和进阶的一个常见方法。"仿写QQ"项目就是这样一个实例,它旨在帮助初学者通过模仿腾讯QQ的用户界面和功能,来掌握Android应用开发的基本技能。这个项目对于刚接触...
"Android-TapeHencoder高度自定义刻度尺HenCoder仿写系列"就是这样一个项目,它专注于实现一个高度可定制的刻度尺控件,灵感来源于HenCoder的教学系列。HenCoder是一个广受欢迎的Android开发学习资源,它提供了许多...
Android仿写QQ用户注册,登录界面实现,不过这个QQ登录界面好像有些老了,是前几年的,但是也挺漂亮的,开发其它Android应用时或许可以做个参考。这个登录界面上有登录框、面包宵菜单、复选框等基本的界面控件,另外...
1. **GsyVideoPlayer**: 这是一个强大的Android视频播放器开源库,由GitHub上的“getActivity”开发者维护。它支持多种视频格式,提供丰富的自定义选项,如全屏模式、锁屏、控制栏显示隐藏等。在仿抖音项目中,...
在Android开发中,...通过对ScrollView的仿写,开发者可以深入理解Android视图系统的底层工作原理,同时也能锻炼解决问题和优化代码的能力。这对于提升Android开发技能和理解系统级组件的工作方式都是非常有益的。
Vue.js组件可以封装播放器,包含播放、暂停、上一曲、下一曲等按钮,以及进度条等控件,通过监听用户操作来调用相应的API。 5. **界面设计**:163音乐客户端的UI设计需遵循原版的样式和布局。可以使用CSS预处理器如...
在"仿网易云音乐平台(vue项目)"中,Vue.js 被用于构建用户界面,实现了音乐播放器的各项功能。Vue 的核心特性包括虚拟DOM、响应式数据绑定、指令系统以及组件化开发,使得开发者能够高效地构建复杂应用。 【HTML...
Android 仿写抖音视频APP端清淅度切换功能,初始化播放器(只需调用一次即可,建议在application中初始化),在本例子中,滑屏时SurfaceView出现白屏和黑屏问题得到了解决,准备成功之后可以调用start方法开始播放,...
在Android开发中,`LinearLayout` 是一个非常基础且重要...但只要深入理解Android布局系统的工作原理,这些问题都能迎刃而解。在实际项目中,这种仿写有时是为了满足特定需求,或者为了更好地控制布局行为,提升性能。
在Android开发中,模仿QQ设置界面是一个常见的学习和实践项目,可以帮助开发者深入理解Android UI设计、自定义控件以及布局管理。本项目源码提供了创建类似QQ设置界面的方法,通过分析和实现这些代码,我们可以学到...
以上是构建Web前端音乐播放器的核心技术点,通过学习和实践这些知识点,你将能够创建一个类似QQ音乐的Web应用,提供优质的音乐体验。在这个过程中,不断优化和改进是关键,以确保最终产品既美观又功能强大。