yy1717
2020-07-23 1a8787e34f27d1ea8ecc8d7b0044ae9f650760e8
lib/src/main/java/com/anyun/exam/lib/RemoteService.java
@@ -43,6 +43,10 @@
    private int msgId = 0;
    private Speaker speaker = null;
    private boolean ttsInitSucc = false;
    private int ringIndex = -1;
    private Uri ringUri;
    private Upgrade upgrade = null;
    private IRemoteInterface.Stub iRemoteInterface = new IRemoteInterface.Stub(){
        @Override
@@ -93,50 +97,56 @@
        new Thread(new TestThread()).start();
//        PlayRing(this);
        upgrade = Upgrade.getInstance(getApplicationContext());
        upgrade.CheckUpgrade();
        ringUri = GetRingIndex(this, "Mira");
        PlayRing(this, ringUri);
    }
    public void PlayRing(Context context) {
    private Uri GetRingIndex(Context context, String ring) {
        RingtoneManager ringtoneManager= new RingtoneManager(context); // 铃声管理器
        ringtoneManager.setType(RingtoneManager.TYPE_NOTIFICATION);
        for (int i = 0; i < ringtoneManager.getCursor().getCount(); i++) {
            Log.i(TAG, "铃声名称 " + ringtoneManager.getRingtone(i).getTitle(context));
            if (ringtoneManager.getRingtone(i).getTitle(this).equals("Carina")) {
                Log.d(TAG, "播放铃声");
                final MediaPlayer mediaPlayer = new MediaPlayer();
                Uri src = ringtoneManager.getRingtoneUri(i);
                try {
                    mediaPlayer.setDataSource(context, src);
                    mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                    mediaPlayer.setLooping(false);
                    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            // 在播放完毕被回调
                            Log.d(TAG, "播放完成");
                            mediaPlayer.stop();
                            mediaPlayer.release();
                        }
                    });
                    mediaPlayer.prepareAsync();
                    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mp) {
                            // 装载完毕回调
                            Log.d(TAG, "装载完毕回调");
                            mediaPlayer.start();
                        }
                    });
                } catch (Exception e) {
                }
                break;
            if (ringtoneManager.getRingtone(i).getTitle(context).equals(ring)) {
                Log.d(TAG, "得到铃声 " + i);
                return ringtoneManager.getRingtoneUri(i);
            }
        }
        return null;
    }
    public void PlayRing(Context context, Uri src) {
        if (src == null)
            return;
        final MediaPlayer mediaPlayer = new MediaPlayer();
        try {
            mediaPlayer.setDataSource(context, src);
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
            mediaPlayer.setLooping(false);
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    // 在播放完毕被回调
                    Log.d(TAG, "播放完成");
                    mediaPlayer.stop();
                    mediaPlayer.release();
                }
            });
            mediaPlayer.prepareAsync();
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    // 装载完毕回调
                    Log.d(TAG, "装载完毕回调");
                    mediaPlayer.start();
                }
            });
        } catch (Exception e) {
            Log.e(TAG, e.getMessage());
        }
    }
@@ -190,9 +200,6 @@
        if (!mIsServiceDestroyed.get()){
            onMessageArrived(cmd, value);
        }
    }
    public String javaDESEncrypt(String plaintext, String key) {