From 46f56f26bfcc6ce26ffd8132ee11bf019eef3289 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期一, 13 四月 2020 11:48:28 +0800 Subject: [PATCH] 计算边距 --- lib/src/main/java/com/anyun/exam/lib/RemoteService.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/lib/src/main/java/com/anyun/exam/lib/RemoteService.java b/lib/src/main/java/com/anyun/exam/lib/RemoteService.java index 7b58c01..383c44a 100644 --- a/lib/src/main/java/com/anyun/exam/lib/RemoteService.java +++ b/lib/src/main/java/com/anyun/exam/lib/RemoteService.java @@ -1,8 +1,15 @@ package com.anyun.exam.lib; import android.app.Service; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.database.Cursor; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.Ringtone; +import android.media.RingtoneManager; +import android.net.Uri; import android.os.IBinder; import android.os.Process; import android.os.RemoteCallbackList; @@ -18,6 +25,7 @@ import androidx.annotation.Nullable; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.concurrent.atomic.AtomicBoolean; /** @@ -84,6 +92,52 @@ new Thread(new StartNative()).start(); new Thread(new TestThread()).start(); + + PlayRing(this); + } + + public void PlayRing(Context context) { + RingtoneManager ringtoneManager= new RingtoneManager(context); // 閾冨0绠$悊鍣� + + for (int i = 0; i < ringtoneManager.getCursor().getCount(); i++) { + Log.i(TAG, "閾冨0鍚嶇О " + ringtoneManager.getRingtone(i).getTitle(context)); + + if (ringtoneManager.getRingtone(i).getTitle(this).equals("Carina")) { + Log.d(TAG, "鎾斁閾冨0"); + + 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; + } + } } class TestThread implements Runnable { -- Gitblit v1.8.0