从停止播放的时间继续播放音频

时间:2015-02-06 21:30:15

标签: android audio android-sqlite

我正在构建一个音频播放器,用户可以从ListView中选择他想要收听的歌曲。点击一首歌后,音频播放器开始播放该歌曲。

音频文件不会存储在本地,而是从某些在线音频库中获取。用户打开歌曲列表后,他会收到很多看起来像这样的网址:

http://audiolibrary.com/user/1/77.mp3
http://audiolibrary.com/user/1/567.mp3
http://audiolibrary.com/user/1/34.mp3

您可以看到,每首歌都标有唯一ID。这个歌很容易下载并播放音频,而且工作正常。我想要完成的事情是这样的:

  1. 用户点击列表视图中的song1并开始播放song1
  2. 在复制过程中,用户决定他有足够的song1并切换到song2
  3. 他关闭应用程序,而歌曲2仍未完成
  4. 下次当他打开一个应用程序时,如果他点击了song1或song2,则从他停止收听song1或song2的地方开始复制
  5. 如何在Android上有效地完成类似的操作?我应该为这种情况创建一个SQLite数据库,使用SharedPreferences还是别的?你通常如何处理类似的情况?

    谢谢:)

1 个答案:

答案 0 :(得分:1)

你需要以永久的方式存储他暂停的时间。其选项包括数据库,共享首选项,Web服务或文件。每个人都有利有弊。

数据库专业人员:如果需要,可以使用其他信息轻松扩展,没有困难的解析代码

数据库缺点:许多设置代码用于显示相当简单的数据量,以及对第三方代码的额外依赖性

共享偏好专业人士:设置和使用的最少代码

共享偏好缺点:不是真正意义上的动态字符串名称,解析速度慢,性能会因字符串数量减少而降低,不能轻易存储其他数据。

webservice pros:将跨设备/平台提供

webservice cons:需要服务器和最多的代码,需要互联网连接

自定义文件格式优点:绝对针对您的需求进行了优化,如果您设计好格式,则可以轻松扩展

自定义文件格式缺点:所有自定义代码,您必须编写所有代码。

选择最适合你的那种。