我有一个由多个活动和一个服务组成的应用程序.主要活动是用于流式传输音频的UI.当用户按下播放按钮时,服务启动,流式传输音频和读取元数据.然后,元数据被推送到UI(如果可见)和通知栏.一切都按预期运行,直到打来的电话.我曾经假设(愚蠢的是)通过使用标准的媒体播放器,android会处理流和电话本身之间的音频切换.所以我创建了一个PhoneStateListener来处理调用并根据需要停止我的播放器.我做错了,因为它仍然没有用.如果您不介意查看服务类和日志文件,我真的很感激!
对不起,一切都很冗长!
谢谢!金大中
package com.wtts.app;
import java.io.BufferedInputStream;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
public class WttsListenService extends Service {
private String txtArtist = "";
private String txtTitle = "";
private String txtAlbum = "";
private Bitmap bmAlbum;
private …Run Code Online (Sandbox Code Playgroud)