Explorar o código

修改铃声播放控制

weizhengliang %!s(int64=2) %!d(string=hai) anos
pai
achega
d4cf001243

+ 1 - 1
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/fragment/BaseCallFragment.kt

@@ -10,7 +10,6 @@ import android.view.ViewGroup
 import android.widget.TextView
 import com.enation.javashop.utils.base.tool.BaseToolActivity
 import com.wdkl.app.ncs.callingbed.R
-import com.wdkl.app.ncs.callingbed.helper.RingPlayHelper
 import com.wdkl.app.ncs.callingbed.helper.SerialPortHelper
 import com.wdkl.app.ncs.callingbed.settings.SettingConfig
 import com.wdkl.ncs.android.lib.utils.showMessage
@@ -18,6 +17,7 @@ import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.common.MessageEvent
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
+import com.wdkl.ncs.android.middleware.utils.RingPlayHelper
 import org.greenrobot.eventbus.EventBus
 
 abstract class BaseCallFragment: Fragment(), View.OnTouchListener {

+ 1 - 1
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/fragment/CallFragment.kt

@@ -246,7 +246,7 @@ class CallFragment : BaseFragment<MainFragmentPresenter, VoiceCallLayBinding>(),
     }*/
 
     fun initCountDownTimer() {
-        val overTime = SettingConfig.getSipOverTime(baseActivity) * 5 * 1000L
+        val overTime = SettingConfig.getSipOverTime(activity) * 5 * 1000L
         countDownTimer = object: CountDownTimer(overTime, 1000) {
             override fun onTick(millisUntilFinished: Long) {
                 val time = millisUntilFinished/1000

+ 1 - 1
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/fragment/SkyCallFragment.kt

@@ -9,7 +9,6 @@ import android.view.View
 import android.view.ViewGroup
 import com.google.gson.Gson
 import com.wdkl.app.ncs.callingbed.R
-import com.wdkl.app.ncs.callingbed.helper.RingPlayHelper
 import com.wdkl.app.ncs.callingbed.helper.SerialPortHelper
 import com.wdkl.app.ncs.callingbed.helper.Utils
 import com.wdkl.app.ncs.callingbed.helper.VoiceManagerUtil
@@ -25,6 +24,7 @@ import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import com.wdkl.ncs.android.middleware.utils.RingPlayHelper
 import com.wdkl.ncs.janus.client.CallSessionCallback
 import com.wdkl.ncs.janus.client.JanusClient
 import com.wdkl.ncs.janus.client.VideoRoomCallback

+ 0 - 187
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/helper/AsyncPlayer.java

@@ -1,187 +0,0 @@
-package com.wdkl.app.ncs.callingbed.helper;
-
-import android.content.Context;
-import android.media.AudioDeviceInfo;
-import android.media.AudioManager;
-import android.media.MediaPlayer;
-import android.os.PowerManager;
-import android.os.SystemClock;
-import android.util.Log;
-
-import java.util.LinkedList;
-
-/**
- * 响铃相关类
- */
-public class AsyncPlayer {
-    private static final int PLAY = 1;
-    private static final int STOP = 2;
-    private AudioManager audioManager;
-
-    private static final class Command {
-        int code;
-        Context context;
-        int resId;
-        boolean looping;
-        int stream;
-        long requestTime;
-
-        public String toString() {
-            return "{ code=" + code + " looping=" + looping + " stream=" + stream + " resId=" + resId + " }";
-        }
-    }
-
-    private final LinkedList mCmdQueue = new LinkedList();
-
-    private void startSound(Command cmd) {
-
-        try {
-            //MediaPlayer player = new MediaPlayer();
-            MediaPlayer player = MediaPlayer.create(cmd.context, cmd.resId);
-            player.setAudioStreamType(cmd.stream);
-            //player.setDataSource(cmd.context, cmd.uri);
-            player.setLooping(cmd.looping);
-            player.setVolume(1.0f, 1.0f);
-            //player.prepare();
-            player.start();
-            if (mPlayer != null) {
-                mPlayer.release();
-            }
-            mPlayer = player;
-            Log.w(mTag, "start sound " + cmd.resId);
-        } catch (Exception e) {
-            Log.w(mTag, "error loading sound for " + cmd.resId, e);
-        }
-    }
-
-    private final class Thread extends java.lang.Thread {
-        Thread() {
-            super("AsyncPlayer-" + mTag);
-        }
-
-        public void run() {
-            while (true) {
-                Command cmd = null;
-
-                synchronized (mCmdQueue) {
-
-                    cmd = (Command) mCmdQueue.removeFirst();
-                }
-
-                switch (cmd.code) {
-                    case PLAY:
-                        startSound(cmd);
-                        break;
-                    case STOP:
-
-                        if (mPlayer != null) {
-                            mPlayer.stop();
-                            mPlayer.reset();
-                            mPlayer.release();
-                            mPlayer = null;
-                        } else {
-                            Log.w(mTag, "STOP command without a player");
-                        }
-                        break;
-                }
-
-                synchronized (mCmdQueue) {
-                    if (mCmdQueue.size() == 0) {
-
-                        mThread = null;
-                        releaseWakeLock();
-                        return;
-                    }
-                }
-            }
-        }
-    }
-
-    private String mTag;
-    private Thread mThread;
-    private MediaPlayer mPlayer;
-    private PowerManager.WakeLock mWakeLock;
-
-    private int mState = STOP;
-
-    public AsyncPlayer(String tag) {
-        if (tag != null) {
-            mTag = tag;
-        } else {
-            mTag = "AsyncPlayer";
-        }
-    }
-
-    public void play(Context context, int res, boolean looping, int stream) {
-        Command cmd = new Command();
-        cmd.requestTime = SystemClock.uptimeMillis();
-        cmd.code = PLAY;
-        cmd.context = context;
-        cmd.resId = res;
-        cmd.looping = looping;
-        cmd.stream = stream;
-        synchronized (mCmdQueue) {
-            enqueueLocked(cmd);
-            mState = PLAY;
-        }
-    }
-
-    public void stop() {
-        synchronized (mCmdQueue) {
-            if (mState != STOP) {
-                Command cmd = new Command();
-                cmd.requestTime = SystemClock.uptimeMillis();
-                cmd.code = STOP;
-                enqueueLocked(cmd);
-                mState = STOP;
-            }
-        }
-    }
-
-    private void enqueueLocked(Command cmd) {
-        mCmdQueue.add(cmd);
-        if (mThread == null) {
-            acquireWakeLock();
-            mThread = new Thread();
-            mThread.start();
-        }
-    }
-
-    public void setUsesWakeLock(Context context) {
-        if (mWakeLock != null || mThread != null) {
-            throw new RuntimeException("assertion failed mWakeLock=" + mWakeLock + " mThread=" + mThread);
-        }
-        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
-        mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag);
-    }
-
-    private void acquireWakeLock() {
-        if (mWakeLock != null) {
-            mWakeLock.acquire();
-        }
-    }
-
-    private void releaseWakeLock() {
-        if (mWakeLock != null) {
-            mWakeLock.release();
-        }
-    }
-
-    private boolean isHeadphonesPlugged(Context context) {
-        if (audioManager == null) {
-            audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        }
-        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
-            AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
-            for (AudioDeviceInfo deviceInfo : audioDevices) {
-                if (deviceInfo.getType() == AudioDeviceInfo.TYPE_WIRED_HEADPHONES
-                        || deviceInfo.getType() == AudioDeviceInfo.TYPE_WIRED_HEADSET) {
-                    return true;
-                }
-            }
-            return false;
-        } else {
-            return audioManager.isWiredHeadsetOn();
-        }
-    }
-}

+ 0 - 83
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/helper/CallDialogHelper.java

@@ -1,83 +0,0 @@
-package com.wdkl.app.ncs.callingbed.helper;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.media.AudioManager;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-
-import com.wdkl.app.ncs.callingbed.R;
-
-public class CallDialogHelper {
-
-    private static AlertDialog callDialog;
-
-    private static AsyncPlayer ringPlayer;
-
-    public static void showCallDialog(Activity activity, int callType, View.OnClickListener hangupCall, View.OnClickListener acceptCall, View.OnClickListener rejectCall) {
-        if (ringPlayer == null) {
-            ringPlayer = new AsyncPlayer(null);
-        }
-
-        View contentView = LayoutInflater.from(activity).inflate(R.layout.call_dialog_lay, null);
-        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
-        builder.setView(contentView);
-
-        LinearLayout outCall = contentView.findViewById(R.id.ll_call_outgoing);
-        ImageView hangup = contentView.findViewById(R.id.iv_hangup_call);
-
-        RelativeLayout inCall = contentView.findViewById(R.id.rl_call_incoming);
-        ImageView accept = contentView.findViewById(R.id.iv_accept_call);
-        ImageView reject = contentView.findViewById(R.id.iv_reject_call);
-
-        if (callType == 0) {
-            //去电
-            outCall.setVisibility(View.VISIBLE);
-            inCall.setVisibility(View.GONE);
-            ringPlayer.play(activity, R.raw.ring_back2, true, AudioManager.STREAM_MUSIC);
-        } else {
-            //来电
-            outCall.setVisibility(View.GONE);
-            inCall.setVisibility(View.VISIBLE);
-            ringPlayer.play(activity, R.raw.ring_tone, true, AudioManager.STREAM_MUSIC);
-        }
-
-        hangup.setOnClickListener(hangupCall);
-        accept.setOnClickListener(acceptCall);
-        reject.setOnClickListener(rejectCall);
-
-        callDialog = builder.create();
-        callDialog.setCanceledOnTouchOutside(false);
-        callDialog.setCancelable(false);
-        callDialog.show();
-
-        //设置dialog宽高及位置
-        try {
-            Window window = callDialog.getWindow();
-            WindowManager.LayoutParams lp = window.getAttributes();
-            lp.width = 800;
-            lp.height = 400;
-            lp.gravity = Gravity.CENTER;
-            //lp.alpha = 0.4f;
-            //window.setBackgroundDrawableResource(R.color.transparent_dialog);
-            window.setAttributes(lp);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public static void dismissCallDialog() {
-        if (callDialog != null && callDialog.isShowing()) {
-            callDialog.dismiss();
-        }
-        if (ringPlayer != null) {
-            ringPlayer.stop();
-        }
-    }
-}

+ 0 - 22
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/helper/RingPlayHelper.java

@@ -1,22 +0,0 @@
-package com.wdkl.app.ncs.callingbed.helper;
-
-import android.content.Context;
-import android.media.AudioManager;
-
-public class RingPlayHelper {
-
-    private static AsyncPlayer ringPlayer;
-
-    public static void playRingTone(Context context, int res, boolean loop) {
-        if (ringPlayer == null) {
-            ringPlayer = new AsyncPlayer(null);
-        }
-        ringPlayer.play(context, res, loop, AudioManager.STREAM_MUSIC);
-    }
-
-    public static void stopRingTone() {
-        if (ringPlayer != null) {
-            ringPlayer.stop();
-        }
-    }
-}

+ 1 - 1
android_bed/src/main/h5_3128/java/com/wdkl/app/ncs/callingbed/fragment/BaseCallFragment.kt

@@ -9,7 +9,6 @@ import android.view.ViewGroup
 import android.widget.TextView
 import com.enation.javashop.utils.base.tool.BaseToolActivity
 import com.wdkl.app.ncs.callingbed.R
-import com.wdkl.app.ncs.callingbed.helper.RingPlayHelper
 import com.wdkl.app.ncs.callingbed.settings.SettingConfig
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.showMessage
@@ -17,6 +16,7 @@ import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.common.MessageEvent
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
+import com.wdkl.ncs.android.middleware.utils.RingPlayHelper
 import org.greenrobot.eventbus.EventBus
 
 abstract class BaseCallFragment: Fragment() {

+ 1 - 1
android_bed/src/main/h5_3128/java/com/wdkl/app/ncs/callingbed/fragment/SkyCallFragment.kt

@@ -9,7 +9,6 @@ import android.view.View
 import com.google.gson.Gson
 import com.wdkl.app.ncs.callingbed.R
 import com.wdkl.app.ncs.callingbed.activity.CallingbedActivity
-import com.wdkl.app.ncs.callingbed.helper.RingPlayHelper
 import com.wdkl.app.ncs.callingbed.helper.SerialPortHelper
 import com.wdkl.app.ncs.callingbed.helper.VoiceManagerUtil
 import com.wdkl.app.ncs.callingbed.settings.SettingConfig
@@ -23,6 +22,7 @@ import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import com.wdkl.ncs.android.middleware.utils.RingPlayHelper
 import com.wdkl.ncs.android.middleware.utils.StringUtil
 import com.wdkl.ncs.janus.client.CallSessionCallback
 import com.wdkl.ncs.janus.client.JanusClient

+ 0 - 189
android_bed/src/main/h5_3128/java/com/wdkl/app/ncs/callingbed/helper/AsyncPlayer.java

@@ -1,189 +0,0 @@
-package com.wdkl.app.ncs.callingbed.helper;
-
-import android.content.Context;
-import android.media.AudioDeviceInfo;
-import android.media.AudioManager;
-import android.media.MediaPlayer;
-import android.net.Uri;
-import android.os.PowerManager;
-import android.os.SystemClock;
-import android.util.Log;
-
-import java.io.IOException;
-import java.util.LinkedList;
-
-/**
- * 响铃相关类
- */
-public class AsyncPlayer {
-    private static final int PLAY = 1;
-    private static final int STOP = 2;
-    private AudioManager audioManager;
-
-    private static final class Command {
-        int code;
-        Context context;
-        int resId;
-        boolean looping;
-        int stream;
-        long requestTime;
-
-        public String toString() {
-            return "{ code=" + code + " looping=" + looping + " stream=" + stream + " resId=" + resId + " }";
-        }
-    }
-
-    private final LinkedList mCmdQueue = new LinkedList();
-
-    private void startSound(Command cmd) {
-
-        try {
-            //MediaPlayer player = new MediaPlayer();
-            MediaPlayer player = MediaPlayer.create(cmd.context, cmd.resId);
-            player.setAudioStreamType(cmd.stream);
-            //player.setDataSource(cmd.context, cmd.uri);
-            player.setLooping(cmd.looping);
-            player.setVolume(1.0f, 1.0f);
-            //player.prepare();
-            player.start();
-            if (mPlayer != null) {
-                mPlayer.release();
-            }
-            mPlayer = player;
-            Log.w(mTag, "start sound " + cmd.resId);
-        } catch (Exception e) {
-            Log.w(mTag, "error loading sound for " + cmd.resId, e);
-        }
-    }
-
-    private final class Thread extends java.lang.Thread {
-        Thread() {
-            super("AsyncPlayer-" + mTag);
-        }
-
-        public void run() {
-            while (true) {
-                Command cmd = null;
-
-                synchronized (mCmdQueue) {
-
-                    cmd = (Command) mCmdQueue.removeFirst();
-                }
-
-                switch (cmd.code) {
-                    case PLAY:
-                        startSound(cmd);
-                        break;
-                    case STOP:
-
-                        if (mPlayer != null) {
-                            mPlayer.stop();
-                            mPlayer.reset();
-                            mPlayer.release();
-                            mPlayer = null;
-                        } else {
-                            Log.w(mTag, "STOP command without a player");
-                        }
-                        break;
-                }
-
-                synchronized (mCmdQueue) {
-                    if (mCmdQueue.size() == 0) {
-
-                        mThread = null;
-                        releaseWakeLock();
-                        return;
-                    }
-                }
-            }
-        }
-    }
-
-    private String mTag;
-    private Thread mThread;
-    private MediaPlayer mPlayer;
-    private PowerManager.WakeLock mWakeLock;
-
-    private int mState = STOP;
-
-    public AsyncPlayer(String tag) {
-        if (tag != null) {
-            mTag = tag;
-        } else {
-            mTag = "AsyncPlayer";
-        }
-    }
-
-    public void play(Context context, int res, boolean looping, int stream) {
-        Command cmd = new Command();
-        cmd.requestTime = SystemClock.uptimeMillis();
-        cmd.code = PLAY;
-        cmd.context = context;
-        cmd.resId = res;
-        cmd.looping = looping;
-        cmd.stream = stream;
-        synchronized (mCmdQueue) {
-            enqueueLocked(cmd);
-            mState = PLAY;
-        }
-    }
-
-    public void stop() {
-        synchronized (mCmdQueue) {
-            if (mState != STOP) {
-                Command cmd = new Command();
-                cmd.requestTime = SystemClock.uptimeMillis();
-                cmd.code = STOP;
-                enqueueLocked(cmd);
-                mState = STOP;
-            }
-        }
-    }
-
-    private void enqueueLocked(Command cmd) {
-        mCmdQueue.add(cmd);
-        if (mThread == null) {
-            acquireWakeLock();
-            mThread = new Thread();
-            mThread.start();
-        }
-    }
-
-    public void setUsesWakeLock(Context context) {
-        if (mWakeLock != null || mThread != null) {
-            throw new RuntimeException("assertion failed mWakeLock=" + mWakeLock + " mThread=" + mThread);
-        }
-        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
-        mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag);
-    }
-
-    private void acquireWakeLock() {
-        if (mWakeLock != null) {
-            mWakeLock.acquire();
-        }
-    }
-
-    private void releaseWakeLock() {
-        if (mWakeLock != null) {
-            mWakeLock.release();
-        }
-    }
-
-    private boolean isHeadphonesPlugged(Context context) {
-        if (audioManager == null) {
-            audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        }
-        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
-            AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
-            for (AudioDeviceInfo deviceInfo : audioDevices) {
-                if (deviceInfo.getType() == AudioDeviceInfo.TYPE_WIRED_HEADPHONES
-                        || deviceInfo.getType() == AudioDeviceInfo.TYPE_WIRED_HEADSET) {
-                    return true;
-                }
-            }
-            return false;
-        } else {
-            return audioManager.isWiredHeadsetOn();
-        }
-    }
-}

+ 0 - 22
android_bed/src/main/h5_3128/java/com/wdkl/app/ncs/callingbed/helper/RingPlayHelper.java

@@ -1,22 +0,0 @@
-package com.wdkl.app.ncs.callingbed.helper;
-
-import android.content.Context;
-import android.media.AudioManager;
-
-public class RingPlayHelper {
-
-    private static AsyncPlayer ringPlayer;
-
-    public static void playRingTone(Context context, int res, boolean loop) {
-        if (ringPlayer == null) {
-            ringPlayer = new AsyncPlayer(null);
-        }
-        ringPlayer.play(context, res, loop, AudioManager.STREAM_MUSIC);
-    }
-
-    public static void stopRingTone() {
-        if (ringPlayer != null) {
-            ringPlayer.stop();
-        }
-    }
-}