我正在尝试更新音乐播放器SeekBar,但没有任何反应.服务在我的活动中启动正常并正确绑定(因为我可以使用我服务中的一些方法和音乐播放正常).这是我的服务代码:
public class MusicPlayerService extends Service {
MediaPlayer myMusicPlayer;
String path;
Intent getMusicId = new Intent();
// Binder given to clients
private final IBinder mBinder = new LocalBinder();
/**
* Class used for the client Binder. Because we know this service always
* runs in the same process as its clients, we don't need to deal with IPC.
*/
public class LocalBinder extends Binder {
MusicPlayerService getService() {
// Return this instance of LocalService so clients can call public methods …Run Code Online (Sandbox Code Playgroud) 如何从通知中的按钮控制音乐播放器,以及如何从通知中收听按钮操作
notifications android audio-player android-music-player remoteview
我在Android中的媒体后端(主要是Stagefrightplayer)遇到了一些麻烦,我想了解它为什么会抛出错误.错误通常是设备特定的,因此在仿真器上进行调试是不够的.
例:
I/AwesomePlayer( 147): mConnectingDataSource->connect() returned -1004
V/MediaPlayerService( 147): [332] notify (0x272830, 100, 1, -1004)
E/MediaPlayer(24881): error (1, -1004)
E/MediaPlayer(24881): Error (1,-1004)
W/PlayerListener(24881): Received error: what = 1, extra = -1004
Run Code Online (Sandbox Code Playgroud)
例2:
E/MediaPlayer( 941): error (1, -2147483648)
Run Code Online (Sandbox Code Playgroud)
我也让玩家完全开玩笑并吐出了痕迹.txt.
有没有办法调试正在发生的事情,就像我调试Java代码一样?谢谢.
嘿,我正在使用MediaPlayer播放常规的ShoutCast流.使用prepareAsync()和开始播放的处理程序,代码很简单.虽然它与DI.FM或ETN.FM(http://u10.di.fm:80/di_progressive)等一些流程完美无瑕,但与其他人(http://mp3.wpsu.org:8000/)一起赢得了超过准备状态.也没有其他听众.
//Uri streamUri = Uri.parse("http://u10.di.fm:80/di_progressive"); /* works */
Uri streamUri = Uri.parse("http://mp3.wpsu.org:8000/"); /* stuck on prepare state */
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(this.getBaseContext(), streamUri);
mediaPlayer.prepareAsync();
Run Code Online (Sandbox Code Playgroud)
任何反馈表示赞赏!
我是Android开发的新手.我想创建一个本质上是音乐播放器的应用程序,但手机可以振动到音乐播放的节拍.我记得最早的诺基亚手机有这个功能,我想重新创造这个功能.
我的问题:这是否可以作为Android应用程序?如果是这样,一般方法是什么?我是否必须分析歌曲的声音模式然后改变振动强度?
谢谢!
我在 android 中创建了一个音乐播放器服务类,并在片段中有一个播放暂停按钮。我正在音乐播放器服务中运行无线电流。该服务正在后台运行。当应用程序打开时,服务可以通过播放暂停按钮进行控制。但是当应用程序在后台时,如果我关闭服务播放暂停按钮有时不会改变。我该如何解决
public class RadioStreamFragment extends Fragment {
//Constant
private static final String TAG = "RadioStreamFragment";
//Member variables
private String mTitle = "";
private Bitmap mBitmap;
private boolean mIsPlaying = false;
private int mMaxVolume;
private int mVolume;
private OnSeekBarChangeListener mListener;
private AudioManager mAudioManager;
//View member variables
private TextView mTVTitle;
//private ImageView mImageView;
public static Button mButton;
private SeekBar mSeekBar;
private AutoScrollViewPager pager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAudioManager = (AudioManager) getActivity()
.getSystemService(Context.AUDIO_SERVICE);
}
@Override
public View onCreateView(LayoutInflater …Run Code Online (Sandbox Code Playgroud) 我使用意图数据作为音乐文件从外部应用程序启动我的音乐应用程序.
所以我有这样的mp3音频URI
文件:///存储/模拟/ 0 /音乐/泰米尔/ I%20(2014)/Ennodu%20Nee%20Irundhaal.mp3
如何从URI获取音频详细信息,即Media.TITLE,Media.ALBUM,Media._ID
我正在尝试创建简单的 Android 应用程序来播放 sd 卡中的音频文件。
我在理解服务方面有一些问题。我会具体的,这是我的问题。
MediaPlayer类?在后台服务或 UI 线程中。就绑定服务在 UI 线程上运行而言,如果它在 UI 线程上运行,那么创建服务绑定等等是没有意义的?仅当我们想在活动(或任何 UI 组件被销毁)时继续在后台播放音乐时,但在这种情况下,即使用户不可见 UI,MusicPlayer 也会占用整个 UI 线程。我对吗 ?IBinder仅返回服务实例的类的活动中运行。请解释这个话题。我将不胜感激任何帮助。谢谢。
java multithreading android audio-player android-service android-music-player
我正在为Android开发一个mp3播放器应用程序,我收到与用户权限相关的错误(READ_EXTERNAL_STORAGE)
这是我要求权限的代码:
int permissionCheck = ContextCompat.checkSelfPermission(PlayListActivity.this,
Manifest.permission.READ_EXTERNAL_STORAGE);
if (ContextCompat.checkSelfPermission(PlayListActivity.this,
Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// OPCIONAL(explicaciones de poque pedimos los permisos)
if (ActivityCompat.shouldShowRequestPermissionRationale(PlayListActivity.this,
Manifest.permission.READ_EXTERNAL_STORAGE)) {
} else {
//pedir permisos
ActivityCompat.requestPermissions(PlayListActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
permissionCheck);
Run Code Online (Sandbox Code Playgroud)
这是代码的其余部分:
ArrayList<HashMap<String, String>> songsListData = new ArrayList<HashMap<String, String>>();
SongsManager plm = new SongsManager(PlayListActivity.this);
// get all songs from sdcard
this.songsList = plm.getPlayList();
// looping through playlist
for (int i = 0; i < songsList.size(); i++) {
// creating new HashMap
HashMap<String, String> song = songsList.get(i);
// adding …Run Code Online (Sandbox Code Playgroud) mp3 android file-permissions audio-player android-music-player android-studio
我正在开发一个 Android 音乐播放器应用程序。我想将它与 Google Assistant 集成,以通过语音控制播放和搜索歌曲。我已经根据官方文档的说明在我的应用程序中实现了媒体会话。
当请求助手使用我的应用程序播放某些内容时,我必须说“在MyApp上播放某些艺术家”之类的内容。当我说“播放某个艺术家”时,助手告诉我我没有配置默认音乐提供商。
这会将我带到 Google Assistant 应用程序中的以下屏幕:
我注意到“您的音乐服务”中未列出MyApp 。我的问题如下:我必须在我的应用程序中进行哪些更改才能将其选为默认音乐服务?
供您参考,这是清单文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="fr.nihilus.music">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature
android:name="android.hardware.audio.output"
android:required="true" />
<application
android:name=".NihilusMusicApplication"
android:allowBackup="true"
android:fullBackupContent="@xml/backup"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<!-- Main activity for music browsing. -->
<activity
android:name=".HomeActivity"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar">
<!-- Make this Activity visible in launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Make this …Run Code Online (Sandbox Code Playgroud) android ×10
audio-player ×7
assistant ×1
c++ ×1
debugging ×1
java ×1
mp3 ×1
remoteview ×1
seekbar ×1
service ×1