下面列出了android.media.AudioManager#isMusicActive ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* 判断是否有音乐处于活跃状态
* @return {@code true} yes, {@code false} no
*/
public static boolean isMusicActive() {
AudioManager audioManager = AppUtils.getAudioManager();
if (audioManager != null) {
try {
return audioManager.isMusicActive();
} catch (Exception e) {
LogPrintUtils.eTag(TAG, e, "isMusicActive");
}
}
return false;
}
/**
* 手机摇晃事件处理
**/
public boolean shakeHandle() {
if (!SynthesizerBase.isInited())
return false;
if (communicationTimer != null) {
sendMessageToRobot("取消");
return true;
} else if (!AppConfig.dPreferences.getBoolean(AppConfig.SHAKE_WAKE, false)) {
return false;
} else if (SynthesizerBase.get().isSpeaking()) {
SynthesizerBase.get().stopSpeaking();
return true;
}
AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
if (am != null) {
if (am.isMusicActive()) {
/* 停止播放音乐 */
Intent intent = new Intent(mContext, AssistantService.class);
intent.putExtra(AssistantService.CMD, AssistantService.ServiceCmd.PAUSE_PLAY);
mContext.startService(intent);
/* 停止识别、合成,尝试唤醒 */
Intent voiceIntent = new Intent(mContext, AssistantService.class);
voiceIntent.putExtra(AssistantService.CMD, AssistantService.ServiceCmd.SEND_TO_ROBOT_FOR_END_TASK);
voiceIntent.putExtra(AssistantService.END_TASK, false);
mContext.startService(voiceIntent);
return true;
}
}
return false;
}
public MusicPlayer(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = inflater.inflate(R.layout.music_widget, null);
addView(layout);
findViewById(R.id.skip_prev).setOnClickListener(this);
findViewById(R.id.play).setOnClickListener(this);
findViewById(R.id.skip_next).setOnClickListener(this);
IntentFilter iF = new IntentFilter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.android.music.playstatechanged");
iF.addAction("com.htc.music.metachanged");
iF.addAction("fm.last.android.metachanged");
iF.addAction("com.sec.android.app.music.metachanged");
iF.addAction("com.nullsoft.winamp.metachanged");
iF.addAction("com.amazon.mp3.metachanged");
iF.addAction("com.miui.player.metachanged");
iF.addAction("com.real.IMP.metachanged");
iF.addAction("com.sonyericsson.music.metachanged");
iF.addAction("com.rdio.android.metachanged");
iF.addAction("com.samsung.sec.android.MusicPlayer.metachanged");
iF.addAction("com.andrew.apollo.metachanged");
context.registerReceiver(mReceiver, iF);
try {
AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (!manager.isMusicActive())
removeView(layout);
else
updatePlayPauseButton(true);
} catch (UnsupportedOperationException e) {
Utils.logInfo(MusicPlayer.class.getSimpleName(), "Can't connect to music service");
removeView(layout);
}
}
private void updatePlayPauseButton(boolean reverse) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (!am.isMusicActive())
((AppCompatImageView) findViewById(R.id.play)).setImageResource(reverse ? R.drawable.ic_play : R.drawable.ic_pause);
else
((AppCompatImageView) findViewById(R.id.play)).setImageResource(reverse ? R.drawable.ic_pause : R.drawable.ic_play);
}
@SuppressWarnings("ConstantConditions")
private static boolean isMusicPlaying() {
final AudioManager manager = (AudioManager) xdrip.getAppContext().getSystemService(Context.AUDIO_SERVICE);
try {
return manager.isMusicActive();
} catch (NullPointerException e) {
return false;
}
}
@SuppressWarnings("ConstantConditions")
private static boolean isMusicPlaying() {
final AudioManager manager = (AudioManager) xdrip.getAppContext().getSystemService(Context.AUDIO_SERVICE);
try {
return manager.isMusicActive();
} catch (NullPointerException e) {
return false;
}
}
public boolean isPlayVoive() {
AudioManager mAudioManager = (AudioManager) BaseApplication.getInstance().getBaseContext().
getSystemService(Context.AUDIO_SERVICE);
return mAudioManager.isMusicActive();
}
@Internal boolean shouldResumeOnHeadphonesConnect() {
AudioManager manager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
return mResumeOnHeadphonesConnect && (mFocused || !manager.isMusicActive());
}