[Modify]修改音樂功能適配安卓10
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
android:icon="@mipmap/app_logo"
|
||||
android:label="@string/app_name"
|
||||
android:largeHeap="true"
|
||||
android:requestLegacyExternalStorage="false"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:resizeableActivity="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/MyMaterialTheme"
|
||||
|
@@ -12,6 +12,7 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -43,7 +44,7 @@ public class RtcEngineHandler extends Handler {
|
||||
}
|
||||
rtcEngineManager.inRoom = true;
|
||||
if (rtcEngineManager.needRecord && rtcEngineManager.mRtcEngine != null) {
|
||||
rtcEngineManager.mRtcEngine.startAudioRecording(Environment.getExternalStorageDirectory()
|
||||
rtcEngineManager.mRtcEngine.startAudioRecording(FileHelper.getRootFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
|
||||
+ File.separator + BasicConfig.INSTANCE.getAppContext().getPackageName()
|
||||
+ "/audio/" + System.currentTimeMillis() + ".aac", AUDIO_RECORDING_QUALITY_LOW);
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@ import com.yizhuan.xchat_android_constants.XChatConstants;
|
||||
import com.yizhuan.xchat_android_core.manager.BaseEngine;
|
||||
import com.yizhuan.xchat_android_core.music.db.bean.LocalMusicBean;
|
||||
import com.yizhuan.xchat_android_core.music.model.PlayerModel;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import java.io.File;
|
||||
@@ -70,7 +71,7 @@ public class RtcEngineManager extends BaseEngine {
|
||||
mRtcEngine.enableDualStreamMode(true);
|
||||
mRtcEngine.setParameters(String.format(Locale.US, "{\"che.audio.headset.monitoring,true\"}"));
|
||||
mRtcEngine.setParameters(String.format(Locale.US, "{\"che.audio.enable.androidlowlatencymode,true\"}"));
|
||||
mRtcEngine.setLogFile(Environment.getExternalStorageDirectory()
|
||||
mRtcEngine.setLogFile(FileHelper.getRootFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
|
||||
+ File.separator + BasicConfig.INSTANCE.getAppContext().getPackageName()
|
||||
+ "/log/agora-rtc.log");
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RoomEvent;
|
||||
import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -43,7 +44,7 @@ public class TRtcEngineHandler extends Handler {
|
||||
}
|
||||
rtcEngineManager.inRoom = true;
|
||||
if (rtcEngineManager.needRecord && rtcEngineManager.mRtcEngine != null) {
|
||||
rtcEngineManager.mRtcEngine.startAudioRecording(Environment.getExternalStorageDirectory()
|
||||
rtcEngineManager.mRtcEngine.startAudioRecording(FileHelper.getRootFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
|
||||
+ File.separator + BasicConfig.INSTANCE.getAppContext().getPackageName()
|
||||
+ "/audio/" + System.currentTimeMillis() + ".aac", AUDIO_RECORDING_QUALITY_LOW);
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ import android.provider.MediaStore;
|
||||
import com.yizhuan.xchat_android_core.R;
|
||||
import com.yizhuan.xchat_android_core.music.db.bean.LocalMusicBean;
|
||||
import com.yizhuan.xchat_android_core.music.db.model.LocalMusicDbModel;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.BlankUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.file.BasicFileUtils;
|
||||
@@ -258,7 +259,7 @@ public class AsyncTaskScanMusicFile extends AsyncTask<Context, AsyncTaskScanMusi
|
||||
MediaStore.Audio.Media.DATA,
|
||||
MediaStore.Audio.Media._ID};
|
||||
|
||||
String rootPath = Environment.getExternalStorageDirectory() + "/";
|
||||
String rootPath = FileHelper.getRootFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath() + "/";
|
||||
donwloadPaths = new ArrayList<>();
|
||||
donwloadPaths.add(rootPath+"kgmusic/download/");//酷狗目录
|
||||
donwloadPaths.add(rootPath+"qqmusic/song/");//qq音乐
|
||||
|
@@ -7,6 +7,7 @@ import android.os.StatFs;
|
||||
import android.util.Log;
|
||||
|
||||
import com.yizhuan.xchat_android_library.R;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.StringUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.json.JsonParser;
|
||||
@@ -72,7 +73,7 @@ public class StringDiskCache {
|
||||
*/
|
||||
public static StringDiskCache openCache(File cacheDir, long maxByteSize) {
|
||||
if (cacheDir == null) {
|
||||
cacheDir = new File(Environment.getExternalStorageDirectory().getPath() + File.separator + "cacheDir");
|
||||
cacheDir = new File(FileHelper.getRootCacheDir().getAbsolutePath() + File.separator + "cacheDir");
|
||||
}
|
||||
|
||||
if (!cacheDir.exists()) {
|
||||
|
@@ -24,6 +24,7 @@ import android.os.Environment;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.yizhuan.xchat_android_library.R;
|
||||
import com.yizhuan.xchat_android_library.common.file.FileHelper;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.StringUtils;
|
||||
|
||||
@@ -82,7 +83,7 @@ public final class StorageUtils {
|
||||
public static File getExternalStorageDirectory(Context context, String uniqueName) {
|
||||
File appDir = null;
|
||||
if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) && hasExternalStoragePermission(context)) {
|
||||
appDir = Environment.getExternalStorageDirectory();
|
||||
appDir = FileHelper.getRootCacheDir();
|
||||
}
|
||||
if (appDir == null) {
|
||||
appDir = context.getCacheDir();
|
||||
@@ -127,7 +128,7 @@ public final class StorageUtils {
|
||||
public static File getOwnCacheDirectory(Context context, String cacheDir) {
|
||||
File appCacheDir = null;
|
||||
if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) && hasExternalStoragePermission(context)) {
|
||||
appCacheDir = new File(Environment.getExternalStorageDirectory(), cacheDir);
|
||||
appCacheDir = new File(FileHelper.getRootCacheDir().getAbsolutePath(), cacheDir);
|
||||
}
|
||||
if (appCacheDir == null || (!appCacheDir.exists() && !appCacheDir.mkdirs())) {
|
||||
appCacheDir = context.getCacheDir();
|
||||
@@ -136,7 +137,7 @@ public final class StorageUtils {
|
||||
}
|
||||
|
||||
private static File getExternalCacheDir(Context context) {
|
||||
File dataDir = new File(new File(Environment.getExternalStorageDirectory(), "Android"), "data");
|
||||
File dataDir = new File(new File(FileHelper.getRootCacheDir().getAbsolutePath(), "Android"), "data");
|
||||
File appCacheDir = new File(new File(dataDir, context.getPackageName()), "cache");
|
||||
if (!appCacheDir.exists()) {
|
||||
if (!appCacheDir.mkdirs()) {
|
||||
@@ -166,7 +167,7 @@ public final class StorageUtils {
|
||||
* get(1)是有效的存储目录,如/mnt/sdcard/
|
||||
*/
|
||||
public static ArrayList<HashSet<String>> getRepeatMountsAndStorage(boolean filterSubdir) {
|
||||
String storagePath = Environment.getExternalStorageDirectory().getAbsolutePath();
|
||||
String storagePath = FileHelper.getRootCacheDir().getAbsolutePath();
|
||||
ArrayList<HashSet<String>> result = new ArrayList<HashSet<String>>(2);
|
||||
HashSet<String> repeatMounts = new HashSet<String>();
|
||||
HashSet<String> totalStorages = new HashSet<String>();
|
||||
@@ -213,7 +214,7 @@ public final class StorageUtils {
|
||||
}
|
||||
if (effectiveStorages.isEmpty()) {
|
||||
effectiveStorages
|
||||
.add(Environment.getExternalStorageDirectory().getAbsolutePath() + "/");
|
||||
.add(FileHelper.getRootCacheDir().getAbsolutePath() + "/");
|
||||
}
|
||||
repeatMounts.removeAll(effectiveStorages);
|
||||
result.add(repeatMounts);
|
||||
@@ -506,7 +507,7 @@ public final class StorageUtils {
|
||||
}
|
||||
list.add(path);
|
||||
}
|
||||
final String storagePath = Environment.getExternalStorageDirectory().getAbsolutePath();
|
||||
final String storagePath = FileHelper.getRootCacheDir().getAbsolutePath();
|
||||
Collections.sort(list, new Comparator<String>() {
|
||||
@Override
|
||||
public int compare(String lhs, String rhs) {
|
||||
|
@@ -67,7 +67,6 @@ public class ExternalStorage {
|
||||
}
|
||||
|
||||
private void loadStorageState(Context context) {
|
||||
// String externalPath = Environment.getExternalStorageDirectory().getPath();
|
||||
String externalPath = FileHelper.getRootCacheDir().getPath();
|
||||
this.sdkStorageRoot = externalPath + "/" + context.getPackageName() + "/";
|
||||
}
|
||||
@@ -176,7 +175,6 @@ public class ExternalStorage {
|
||||
}
|
||||
|
||||
public boolean isSdkStorageReady() {
|
||||
// String externalRoot = Environment.getExternalStorageDirectory().getAbsolutePath();
|
||||
String externalRoot = FileHelper.getRootCacheDir().getPath();
|
||||
if (this.sdkStorageRoot.startsWith(externalRoot)) {
|
||||
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
|
||||
|
Reference in New Issue
Block a user