问题标签 [android-music-player]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
855 浏览

java - MediaPlayer 仅在调试模式下播放音乐文件(Android)

我编写了一个播放音乐文件的 Android 应用程序(在 eclipse 中),如下所示:

当我运行它时,它不会播放文件(并且没有显示任何异常),但是当我切换到“调试模式”并逐行跟踪它时,它会播放文件。我真的很困惑。你能帮我找出问题所在吗?

谢谢。

0 投票
2 回答
1153 浏览

android - 如何使用来自 asyncTask 的 managedQuery

我正在尝试制作一个 Android 音乐播放器。为了方便起见,我决定将手机上的艺术家复制到本地数据库,然后对本地数据进行一些自定义查询。我知道如何将 managedQuery 复制到数据库,但不能在 AsyncTask 上这样做,因为 managedQuery 只能由 Activity 类访问。我正在尝试在应用程序启动时在我的应用程序类中执行此调用。有谁知道在 AsyncTask 中调用 managedQuery 的方法?我真的不想在我调用的第一个活动中执行此操作,因为它会显着降低我的加载速度。

这就是我想做的,虽然我知道这不会编译......

0 投票
1 回答
63 浏览

android - Handel Strange 应用程序流程 - Android

我遇到了应用程序流程的奇怪问题。我正在创建具有后台播放能力的音乐播放应用程序。我遇到的问题是,

  1. 在应用程序启动应用程序从 SD 卡加载所有歌曲。
  2. 用户开始播放歌曲。
  3. 现在他退出应用程序。
  4. 歌曲仍在后台播放。
  5. 现在,当他从通知栏或菜单再次启动应用程序时......所有歌曲再次开始加载现在这是我不想要的东西。

有人可以建议我如何处理这件事吗?

0 投票
2 回答
3282 浏览

android - 在 android 的 listView 中单击它时更改按钮的图像

我正在开发一个音乐播放器应用程序。在此,我将检索 sdcard 中所有可用的音乐文件并显示在列表中。列表内将有一个播放按钮以播放歌曲。最初,所有图像将处于“PLAY BUTTON”状态。 在此处输入图像描述

然后当用户单击播放按钮时,播放按钮将变为此。

在此处输入图像描述

并且音乐将相应地播放/暂停。

但是,我面临的问题是,如果我播放第一首歌曲,歌曲就会播放并且图标会发生变化,但是如果我向下滚动列表,列表中的任何歌曲都会随机出现“暂停”按钮图像。

下面是代码:(在播放音乐方面它仍在开发中,但我需要解决这个图像问题)

音乐活动:

主要的.xml

项目.xml

0 投票
1 回答
928 浏览

android - Take music files on memory card using phonegap for android music player

I am trying to create a music player using phonegap for android.How could I collect the mp3 files in my memory card to list in my player.

0 投票
3 回答
816 浏览

android - 在 Google 音乐播放器中播放歌曲时出现问题

有什么方法可以从我的应用开始在 Google 音乐播放器应用中播放歌曲?我正在尝试以下代码,但谷歌音乐播放器只打开搜索结果,并没有真正播放歌曲。

INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH 的文档说明如下 - 执行搜索音乐媒体并在可能的情况下自动播放结果中的内容的意图。

因此,根据文档,它应该能够播放这首歌。但是,它只打开搜索结果而不播放它。有什么想法我在这里想念的吗?

谢谢你尽你所能的帮助。

0 投票
2 回答
2785 浏览

android - 带服务的安卓音乐播放器

我正在寻找一个用于学习目的的 android 音乐播放器的基本实现。我想要的只是一个带有服务和 oncompletionlistener 的音乐播放器,它会移动到下一个曲目和一个通知。但我还没有找到类似的东西。任何帮助将不胜感激。提前致谢。

0 投票
2 回答
15455 浏览

android - Android - ICS 4.0 中的 MediaPlayer 缓冲区大小

我使用套接字作为 MediaPlayer 的代理,因此我可以在将 mp3 音频写入套接字之前下载和解密它。这类似于 NPR 新闻应用程序中显示的示例,但是我将其用于所有 Android 版本 2.1 - 4 atm。

NPR StreamProxy 代码 - http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java

我的问题是 2.1 - 2.3 的播放速度很快,但在 Android 4.0 ICS 中,MediaPlayer 在触发 onPrepared 侦听器之前缓冲了太多数据。

在 onPrepared() 之前写入 Socket OutputStream 的示例数据量:

在带有 2.3.4 的 SGS2 上 - 约 133920 字节后的 onPrepared()

在带有 4.0.4 的 Nexus S 上 - onPrepared() 在 ~ 961930 字节之后

这也发生在 Galaxy Nexus 上。

奇怪的是,4.0 仿真器缓冲的数据不如 4.0 设备多。有人在 ICS 上使用 MediaPlayer 遇到过类似问题吗?

编辑

这是代理写入套接字的方式。在此示例中,它来自从文件加载的 CipherInputStream,但从 HttpResponse 加载时也会发生同样的情况。

在音频之前写入 MediaPlayer 的 HTTP 标头。

我四处寻找替代实现,但由于我加密了音频并且 MediaPlayer 不支持 InputStreams 作为数据源,我唯一的选择(我认为..)是使用这样的代理。

同样,这在 Android 2.1 - 2.3 中运行良好,但在 ICS 中,MediaPlayer 在播放之前缓冲了大量此类数据。

编辑 2:

进一步的测试表明,这也是 SGS2 升级到 Android 4.0.3 后的问题。因此,MediaPlayer 的缓冲实现似乎在 4.0 中发生了重大变化。这令人沮丧,因为 API 没有提供改变行为的方法。

编辑 3:

已创建 Android 错误。请在此处添加评论并加注星 标 http://code.google.com/p/android/issues/detail?id=29870

编辑 4:

我的播放代码是相当标准的。我在 onPrepared() 方法中对 MediaPlayer 进行了 start() 调用。

仅使用 prepare() 以及 ajacian81 的推荐方式进行了尝试,但无济于事。

我应该补充一点,最近一位 Google 员工就我的问题回复了我,并确认 ICS(用于高清内容)中的缓冲区大小是故意增加的。已要求 API 开发人员添加在 MediaPlayer 上设置缓冲区大小的功能。

虽然我认为这个 API 更改请求在我出现之前就已经存在,所以我不建议任何人屏住呼吸。

0 投票
2 回答
365 浏览

android - MusicPlayer 暂停并从它开始

我正在开发音乐应用程序。

我想暂停播放器,当我去恢复时,它将从那一点开始。

音乐.java

音乐活动

我想使用停止按钮作为暂停和播放。我为它进行了编码,但正如你所知,我没有得到完美的..所以我怎样才能将播放和暂停之类的操作变成这个。

0 投票
1 回答
2529 浏览

android - 如何从外部应用程序启动 MusicPlaybackService?

我正在尝试通过位于 Google Play 音乐应用程序顶部并通过广播与其通信的服务和接收器来扩展有线麦克风遥控按钮的功能。我在 ICS 上使用 Google Nexus S。

我遇到的问题是,一旦 MusicPlaybackService 运行,我的代码就会运行良好,但情况并非总是如此。如何在不显示任何 UI 的情况下启动此服务(用户不知道)。我的代码具有以下定义:

我尝试了以下选项:

1)基于this SO question。我不确定是否关于 SERVICECMD,因为问题表明我应该使用“com.android.music.musicservicecommand”,但对于 ICS,我相信包名称已经改变。

我也尝试用 TOGGLEPAUSE_ACTION 替换 SERVICECMD。

2)来自这个android项目问题。

3) 此代码因以下错误而崩溃。我不确定如何使用此选项更进一步。

引起:android.content.ActivityNotFoundException:无法找到明确的活动类{com.google.android.music/com.google.android.music.MusicPlaybackService};您是否在 AndroidManifest.xml 中声明了此活动?

4) 我注意到当耳机从我的手机中取出时,MusicPlaybackService 会启动,因为它正在响应 WiredAccessoryObserver 接收的 Intent.ACTION_HEADSET_PLUG 广播。我尝试使用 LogCat 中显示的值在我的代码中复制该广播。

我真的在寻找一种在启动服务时一直有效的方法。我对任何事情都持开放态度。我仍然必须尝试绑定到使用 IMediaPlaybackService.aidl 的服务,该服务应该随机中断,并不理想。提前感谢您的帮助。

编辑

我尝试使用以下代码绑定到服务,但引发了错误:

原因:java.lang.SecurityException:不允许绑定到服务 Intent { cmp=com.google.android.music/.MusicPlaybackService }

在我的 OnCreate 函数中

在我的课上