This website requires JavaScript.
d74543e3ed
fix(iOS): simplify recorder to local file only, add app icon
master
yumoqing
2026-07-17 21:55:49 +08:00
1832672081
fix(iOS): add MTAudioProcessingTap for audio capture, fix PTS timing
yumoqing
2026-07-17 21:47:01 +08:00
bfe81cbc82
feat(iOS): replace HLS segment download with AVPlayer screen capture
yumoqing
2026-07-17 21:40:41 +08:00
d0cecebe69
fix(iOS): add User-Agent header to all HLS segment + playlist requests
yumoqing
2026-07-17 21:36:53 +08:00
1f8ecb9bcb
fix(iOS): replace FileHandle(forWritingTo:) with Data concatenation for TS merge
yumoqing
2026-07-17 21:31:51 +08:00
f73bc4532e
fix(iOS): show recorder errors as full-screen overlay instead of fleeting toast
yumoqing
2026-07-17 21:28:15 +08:00
04fb3acecc
fix(iOS): use UIKit UIActivityViewController directly instead of SwiftUI .sheet
yumoqing
2026-07-17 21:21:16 +08:00
4aec892151
fix(iOS): add copyLocalFile for local file recording on iOS
yumoqing
2026-07-17 21:14:36 +08:00
96d617617f
chore: remove accidentally committed xcodeproj.bak
yumoqing
2026-07-17 20:58:47 +08:00
da4495ab3e
fix: Xcode ViewBuilder compile error — wrap NSLog in closure for iOS sheet
yumoqing
2026-07-17 20:58:22 +08:00
04990674cc
fix: save dialog not appearing after recording on macOS/iOS
yumoqing
2026-07-17 20:27:49 +08:00
01bf7d6f4a
fix(iOS): Connect+Browse buttons — Connect opens Files for auth, Browse opens file picker. Add auto-opens Files.
yumoqing
2026-07-04 20:06:30 +08:00
6c7a6e567f
fix(iOS): simplified — server list + system file picker. FileManager can't browse SMB directly on iOS, use .fileImporter instead.
yumoqing
2026-07-04 20:02:16 +08:00
3cb5b1d8a4
fix(iOS): connect flow — new SMB opens Files for auth, saved servers use FileManager directly. Both flows save to history.
yumoqing
2026-07-04 19:57:33 +08:00
6a605451e4
fix: use browseURL scheme to detect SMB context — iOS maps SMB files to file:// URLs
yumoqing
2026-07-04 19:55:07 +08:00
80e332bda0
feat: iOS — saved server list, built-in file browser, HTTP stream server
yumoqing
2026-07-04 19:51:42 +08:00
b1a04526a2
feat: SMB streaming via AVAssetResourceLoaderDelegate — no file copy, reads on-demand.
yumoqing
2026-07-04 18:24:10 +08:00
b9e65f306a
fix(iOS): copy SMB files to local Documents before playing — AVPlayer can't handle smb:// URLs
yumoqing
2026-07-04 18:10:31 +08:00
bf734454f8
fix(iOS): SMB connect flow — use FileManager first, fallback to Files app. Extract shared buildFileItems helper.
yumoqing
2026-07-04 18:06:50 +08:00
592a23b02e
fix(iOS): SMB URL detection — show alert guiding to Files app instead of trying to play. Add import UIKit.
yumoqing
2026-07-04 18:00:44 +08:00
d01baed1c9
test: SMB network share verified — mount /Volumes/sambashare, browse media dirs. Fix NSWorkspace API + MediaLibraryView platform guard
yumoqing
2026-07-04 17:39:13 +08:00
0a9ed6e746
feat: network file browser — browse SMB/NFS shares, auto-pair ASS subtitles
yumoqing
2026-07-04 17:33:58 +08:00
1412c234f8
fix(iOS): move pendingExportURL to PlayerBridge — SwiftUI can now observe it and trigger save sheet
yumoqing
2026-07-03 08:29:02 +08:00
3ed5696ae0
fix(iOS): read file data into memory BEFORE revoking security-scoped access, prevents exists=false
yumoqing
2026-07-03 08:22:14 +08:00
6503712be9
fix: show file diagnostics (exists, size, magic bytes) directly on error screen
yumoqing
2026-07-03 08:19:53 +08:00
0e172e015e
fix: add file magic number verification to diagnose corruption
yumoqing
2026-07-03 08:18:33 +08:00
beaeb3b4c6
fix: ensure AVAudioSession is active right before player.play(), add diagnostic logging
yumoqing
2026-07-03 08:17:32 +08:00
15b26ce416
fix: show full error details (code+domain+filename) on playback failure
yumoqing
2026-07-03 08:14:10 +08:00
e81af97437
fix: add device diagnostic log (miniplayer_diag.log in Documents) to trace playback issues
yumoqing
2026-07-02 22:58:57 +08:00
37d7338823
fix: change audio mode back to .default — .moviePlayback breaks all playback on iOS 26
yumoqing
2026-07-02 22:41:07 +08:00
6f786cd1a8
fix: revert to .moviePlayback audio mode for proper video A/V sync
yumoqing
2026-07-02 22:36:01 +08:00
0388ae2a45
fix: add diagnostics for local file playback — file existence, audio route, player rate
yumoqing
2026-07-02 22:31:16 +08:00
58c34250c5
fix(iOS): replace lock overlay with allowsHitTesting — icon now reliably unlocks
yumoqing
2026-07-02 22:24:51 +08:00
d519e9aa17
fix(iOS): fix lock overlay ZStack order — icon now above overlay, unlock shows toolbar
yumoqing
2026-07-02 22:20:26 +08:00
01116180d1
fix: compile errors — frame API + sheet binding for let hlsRecorder
yumoqing
2026-07-02 22:13:26 +08:00
4c38b06860
修复四个问题: 录制后弹保存窗/本地文件播放/左上角锁定/音轨循环切换
yumoqing
2026-07-02 22:10:55 +08:00
a74a021518
fix(iOS): add CFBundleIcons to Info.plist so app icon loads from Assets.car
yumoqing
2026-07-02 21:57:33 +08:00
75a319d7fb
fix(iOS): fix presentActivitySheet keyWindow deprecation, use windowScene.keyWindow + fallback
yumoqing
2026-07-02 21:54:21 +08:00
bfb7631714
fix(iOS): improve PiP KVO observation, fix recording stop flow and export sheet
yumoqing
2026-07-02 21:13:24 +08:00
bf7d3de9ba
iOS: PiP画中画、AirPlay投屏、录制保存弹窗、播放记录持久化恢复
yumoqing
2026-07-02 08:16:33 +08:00
ce5878957e
fix(iOS): fix recording, playback compatibility, and media library UI
yumoqing
2026-07-02 07:44:09 +08:00
88f1ecbe9c
fix(iOS): rewrite HLSRecorder for continuous recording until user stops
yumoqing
2026-07-01 23:18:39 +08:00
44708f39ef
feat(iOS): add recording, media library, and local file import
yumoqing
2026-07-01 22:55:35 +08:00
4bfd4e5565
fix: .ipa 复制到项目根目录,Xcode Add App 弹窗可见
yumoqing
2026-07-01 22:05:33 +08:00
6c21bdbef7
fix: iOS .ipa 打包成功 - 修复 Team ID、Bundle.module、@main 入口点
yumoqing
2026-07-01 21:38:52 +08:00
d22a5037b8
feat: iOS/macOS 双平台打包支持
yumoqing
2026-07-01 08:29:16 +08:00
103b994c60
debug: 添加录制流程日志
yumoqing
2026-07-01 08:01:45 +08:00
16fdd72271
fix: 用 NSEvent.addLocalMonitorForEvents 替代 .onHover/tracking area
yumoqing
2026-07-01 07:48:16 +08:00
fde83a87bc
fix: 用 NSTrackingArea 替代 .onHover 解决标题栏闪烁和红绿灯丢失问题
yumoqing
2026-07-01 07:42:16 +08:00
ec8c3bd51c
fix: title bar shows/hides based on window hover, not just top strip
yumoqing
2026-06-30 23:54:36 +08:00
5a031a57ea
fix: fully hide title bar including traffic lights
yumoqing
2026-06-30 23:49:32 +08:00
03b8ef8d40
feat: URL deduplication for media library and queue
yumoqing
2026-06-30 23:45:02 +08:00
7c1a84c413
feat: title bar hover to show/hide
yumoqing
2026-06-30 23:27:14 +08:00
610f619a35
feat: add player status overlay (loading/buffering/error)
yumoqing
2026-06-30 23:10:20 +08:00
b1937bfc16
fix: 修复新增availability字段导致JSON解码失败
yumoqing
2026-06-30 22:43:11 +08:00
af710e4e4f
feat: 流媒体URL并发可用性检测
yumoqing
2026-06-30 22:41:04 +08:00
48011dd4f0
fix: 修复M3U导入后UI冻结问题
yumoqing
2026-06-30 08:49:18 +08:00
05afadfd11
feat: 媒体库 - 播放记忆、多播放列表、M3U导入、模糊搜索、喜欢/标签系统
yumoqing
2026-06-30 00:28:14 +08:00
49948049c0
fix: show save dialog even on error if file has content; better default filename
yumoqing
2026-06-28 21:46:41 +08:00
221075ce8a
refactor: replace AVAssetWriter+Tap recording with StreamRecorderKit FFmpegRecorder
yumoqing
2026-06-28 18:19:10 +08:00
70337add95
fix: remove audioMix pre-install in playIndex - breaks HLS playback
yumoqing
2026-06-28 15:21:10 +08:00
f68476d57f
fix: move video capture off main thread + filter stale end-of-playback notifications
yumoqing
2026-06-28 10:34:50 +08:00
9160b3ce2b
fix: pre-install audioMix in playIndex to prevent video freeze on record start
yumoqing
2026-06-28 10:30:20 +08:00
cff2bd2793
fix: use kCMPersistentTrackID_Invalid for HLS audio tap
yumoqing
2026-06-28 10:24:04 +08:00
4ba3ccde21
diag: add stop-time tracks check to detect HLS variant switching
yumoqing
2026-06-28 10:14:32 +08:00
1eff22a1ad
fix: use playerItem.tracks for HLS audio track discovery
yumoqing
2026-06-28 09:52:29 +08:00
1880eeb3d3
fix: use async loadTracks for HLS stream audio tracks - HLS AVURLAsset.tracks returns empty array synchronously - must use asset.loadTracks(withMediaType: .audio)
yumoqing
2026-06-28 09:15:50 +08:00
70b264bcc8
fix: revert to actual trackID for audioMix (kCMPersistentTrackID_Invalid never fires tap)
yumoqing
2026-06-27 17:59:45 +08:00
7cfeec1f15
feat: recording diagnostic report system
yumoqing
2026-06-27 17:45:00 +08:00
fb1bd32bbf
fix: audio recording - double buffer + HLS variant switch support
yumoqing
2026-06-27 15:44:55 +08:00
1733ecc7bc
fix: 修复录制视频无音频问题
yumoqing
2026-06-27 13:55:49 +08:00
f1ecbf2e91
fix: replace MTAudioProcessingTap with CoreAudio device capture for HLS audio recording
yumoqing
2026-06-27 10:58:09 +08:00
f0e468122b
fix: trim whitespace from URL input to prevent 404 errors
yumoqing
2026-06-27 10:43:47 +08:00
339664ebc1
fix: 修复HLS流媒体录制无音频问题
yumoqing
2026-06-26 08:51:10 +08:00
d4a39dd7c3
fix: block app termination while recording is finalizing
yumoqing
2026-06-25 21:27:02 +08:00
eb3e98d567
fix: window close exits app + save dialog diagnostics
yumoqing
2026-06-25 21:08:59 +08:00
cf53afd7c8
fix: improve HLS audio track discovery - async load fallback + detailed diagnostics
yumoqing
2026-06-25 20:51:27 +08:00
f5e35a6ee7
fix: close main window exits app; playlist panel close doesn't
yumoqing
2026-06-25 20:47:23 +08:00
8cfb072370
fix: HLS audio via KVO+polling for playerItem.tracks, diagnostic logging
yumoqing
2026-06-25 09:12:02 +08:00
be0cf09941
fix: HLS audio (playerItem.tracks + better tap callback) + window title sync with toolbar
yumoqing
2026-06-25 09:08:02 +08:00
6e94bb46b7
feat: window title hides/shows with toolbar on idle timeout
yumoqing
2026-06-25 09:00:56 +08:00
fc95254500
feat: 录制完成后弹出保存对话框,支持用户改名
yumoqing
2026-06-25 08:56:47 +08:00
ff20ffe07f
fix: HLS音频录制+边录边写+结束仅改名移动
yumoqing
2026-06-25 08:29:39 +08:00
d9f12ced06
fix: MTAudioProcessingTapCallbacks参数名initCallback→init
yumoqing
2026-06-24 23:16:08 +08:00
5ae4cc4e70
feat: HLS流音频录制——MTAudioProcessingTap替代AVAssetReader
yumoqing
2026-06-24 23:14:47 +08:00
c7bb63bb7e
fix: HLS播放加自定义headers + 录制finishWriting错误日志
yumoqing
2026-06-24 22:59:44 +08:00
ff4902ffe6
fix: 视频只有一帧+音频超长——重写录制时间基准和音频限速
yumoqing
2026-06-24 22:08:09 +08:00
06345b07de
fix: 视频只有一帧 + 音频长度不对
yumoqing
2026-06-24 21:19:10 +08:00
42f3cf2b84
fix: 音视频同步——音频从 firstFrameTime 开始读取
yumoqing
2026-06-24 21:07:07 +08:00
60a3369d82
fix: 录制停止时音频未同步停止导致输出文件超长
yumoqing
2026-06-24 21:01:39 +08:00
cbc03b40b4
Fix: use Timer for video capture, set isRunning before capture loop
yumoqing
2026-06-24 20:44:51 +08:00
6c31894a6d
Fix: record audio from source URL, not microphone
yumoqing
2026-06-24 20:28:31 +08:00
5d9e93ba95
Record video source via AVPlayerItemVideoOutput, not screen capture
yumoqing
2026-06-24 20:04:08 +08:00
87c66c3c70
Recording: red icon, live duration display, save dialog with editable filename
yumoqing
2026-06-24 19:56:07 +08:00
35de7263e9
Fix: app quit on playlist close, request screen capture permission, playlist as panel
yumoqing
2026-06-24 19:50:54 +08:00
a90a60437b
Set app as regular GUI app to show in Dock
yumoqing
2026-06-24 19:47:10 +08:00
5960c5f7c8
Move record button to front of toolbar for visibility
yumoqing
2026-06-24 19:45:36 +08:00
8af1140b06
Add drag-and-drop file/URL playback and screen recording with audio
yumoqing
2026-06-24 19:33:21 +08:00
b929b1eb6e
Set metadata types after session starts (availableMetadataObjectTypes empty before)
yumoqing
2026-06-24 19:28:38 +08:00
e87921b59f
Request camera permission before QR scanning
yumoqing
2026-06-24 19:25:42 +08:00