killapp/Assets/Plugins/Android/Exceptions.java
“虞渠成” 4726107e19 feat(video,android): 视频下载转码播放 + 列表下载/播放按钮
- 集成 ffmpeg-kit-full-gpl 6.0.3(arm64),用 libx264 重编码修复 .h264 缺 SPS/PPS 导致的播放卡死

- 新增 VideoDownloadPlayService/VideoCacheManager,.mp4 直下直播、.h264 下载后转 mp4 缓存,转码完成后删除临时 .h264

- FFmpegKitBridge 走主线程 JNI 调用规避 IL2CPP 后台线程 FindClass 不稳定

- 视频列表按缓存状态显示 下载/播放 按钮,下载中亮色条显示百分比;播放面板原下载按钮改为保存到相册
2026-09-08 13:31:31 +08:00

41 lines
1.2 KiB
Java

package com.arthenica.smartexception.java;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
/**
* smartexception-java 的最小 stub
* ffmpeg-kit 6.0.2 内部 swordfish 库依赖此类的 getStackTraceString / registerRootPackage
* 我们不需要完整功能,只需保证类存在且方法签名匹配
*/
public class Exceptions {
private static final Set<String> rootPackages = Collections.synchronizedSet(new HashSet<String>());
public static void registerRootPackage(String rootPackage) {
if (rootPackage != null) {
rootPackages.add(rootPackage);
}
}
public static String[] getRegisteredRootPackages() {
return rootPackages.toArray(new String[0]);
}
public static void unregisterRootPackage(String rootPackage) {
if (rootPackage != null) {
rootPackages.remove(rootPackage);
}
}
public static String getStackTraceString(Throwable t) {
if (t == null) return "";
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
}