axiom-media
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMedia
媒体
You MUST use this skill for ANY camera, photo, audio, haptic, or media playback work.
任何涉及相机、照片、音频、触觉反馈或媒体播放的工作,都必须使用本技能。
Quick Reference
快速参考
| Symptom / Task | Reference |
|---|---|
| Camera capture, AVCaptureSession | See |
| Camera API (RotationCoordinator, etc.) | See |
| Camera freezes, black preview, rotation | See |
| Photo pickers, library access | See |
| PHPicker, PhotosPicker API reference | See |
| Audio, AVFoundation, spatial audio | See |
| Audio recognition, ShazamKit | See |
| ShazamKit API reference | See |
| Haptic feedback, Core Haptics | See |
| Now Playing metadata, remote commands | See |
| CarPlay Now Playing | See |
| MusicKit Now Playing | See |
| 症状/任务 | 参考资料 |
|---|---|
| 相机捕获、AVCaptureSession | 查看 |
| 相机API(RotationCoordinator等) | 查看 |
| 相机冻结、预览黑屏、旋转问题 | 查看 |
| 照片选择器、相册访问 | 查看 |
| PHPicker、PhotosPicker API参考 | 查看 |
| 音频、AVFoundation、空间音频 | 查看 |
| 音频识别、ShazamKit | 查看 |
| ShazamKit API参考 | 查看 |
| 触觉反馈、Core Haptics | 查看 |
| Now Playing元数据、远程命令 | 查看 |
| CarPlay Now Playing | 查看 |
| MusicKit Now Playing | 查看 |
Decision Tree
决策树
dot
digraph media {
start [label="Media task" shape=ellipse];
what [label="Which media feature?" shape=diamond];
start -> what;
what -> "skills/camera-capture.md" [label="camera capture"];
what -> "skills/photo-library.md" [label="photo pickers\n/ library"];
what -> "skills/avfoundation-ref.md" [label="audio / AVFoundation"];
what -> "skills/shazamkit.md" [label="ShazamKit\n/ audio recognition"];
what -> "skills/haptics.md" [label="haptic feedback"];
what -> "skills/now-playing.md" [label="Now Playing\n/ remote commands"];
}- Camera capture? → (patterns),
skills/camera-capture.md(API),skills/camera-capture-ref.md(debugging)skills/camera-capture-diag.md - Photo pickers / library? → ,
skills/photo-library.mdskills/photo-library-ref.md - Audio / AVFoundation? →
skills/avfoundation-ref.md - ShazamKit / audio recognition? → ,
skills/shazamkit.mdskills/shazamkit-ref.md - Haptics? →
skills/haptics.md - Now Playing / remote commands? → ,
skills/now-playing.md,skills/now-playing-carplay.mdskills/now-playing-musickit.md - Want camera code audit? → Launch agent
camera-auditor
dot
digraph media {
start [label="Media task" shape=ellipse];
what [label="Which media feature?" shape=diamond];
start -> what;
what -> "skills/camera-capture.md" [label="camera capture"];
what -> "skills/photo-library.md" [label="photo pickers\n/ library"];
what -> "skills/avfoundation-ref.md" [label="audio / AVFoundation"];
what -> "skills/shazamkit.md" [label="ShazamKit\n/ audio recognition"];
what -> "skills/haptics.md" [label="haptic feedback"];
what -> "skills/now-playing.md" [label="Now Playing\n/ remote commands"];
}- 相机捕获?→ (模式)、
skills/camera-capture.md(API)、skills/camera-capture-ref.md(调试)skills/camera-capture-diag.md - 照片选择器/相册?→ 、
skills/photo-library.mdskills/photo-library-ref.md - 音频/AVFoundation?→
skills/avfoundation-ref.md - ShazamKit/音频识别?→ 、
skills/shazamkit.mdskills/shazamkit-ref.md - 触觉反馈?→
skills/haptics.md - Now Playing/远程命令?→ 、
skills/now-playing.md、skills/now-playing-carplay.mdskills/now-playing-musickit.md - 需要相机代码审计?→ 启动 agent
camera-auditor
Cross-Domain Routing
跨领域路由
Camera + permissions (camera access denied, Info.plist missing):
- Camera code → stay here (camera-capture)
- Privacy manifest / Info.plist → invoke axiom-integration (privacy-ux reference)
- Build/entitlement errors → invoke axiom-build
ShazamKit + microphone permissions:
- Microphone NSMicrophoneUsageDescription → invoke axiom-integration (privacy-ux reference)
- ShazamKit API and matching → stay here (shazamkit)
Now Playing + background audio:
- Now Playing metadata/controls → stay here (now-playing)
- Background audio mode / BGTaskScheduler → invoke axiom-integration (background-processing reference)
Photo library + privacy:
- Photo picker (PHPicker, PhotosPicker) → stay here (photo-library) — no permissions needed
- Full PHPhotoLibrary access → stay here (photo-library-ref) — limited access model
- Privacy manifest for photo usage → invoke axiom-integration (privacy-ux reference)
相机+权限(相机访问被拒绝、Info.plist缺失):
- 相机代码 → 留在本技能(camera-capture)
- 隐私清单/Info.plist → 调用axiom-integration(隐私UX参考)
- 构建/权限错误 → 调用axiom-build
ShazamKit+麦克风权限:
- 麦克风NSMicrophoneUsageDescription → 调用axiom-integration(隐私UX参考)
- ShazamKit API与匹配 → 留在本技能(shazamkit)
Now Playing+后台音频:
- Now Playing元数据/控制 → 留在本技能(now-playing)
- 后台音频模式/BGTaskScheduler → 调用axiom-integration(后台处理参考)
相册+隐私:
- 照片选择器(PHPicker、PhotosPicker)→ 留在本技能(photo-library)——无需权限
- 完整PHPhotoLibrary访问 → 留在本技能(photo-library-ref)——有限访问模型
- 照片使用隐私清单 → 调用axiom-integration(隐私UX参考)
Anti-Rationalization
认知误区
| Thought | Reality |
|---|---|
| "Camera capture is just AVCaptureSession setup" | Camera has interruption handlers, rotation, and threading requirements. |
| "I'll add haptics with a simple API call" | Haptic design has patterns for each interaction type matching HIG. |
| "ShazamKit is just SHSession + a delegate" | iOS 17+ has SHManagedSession which eliminates all AVAudioEngine boilerplate. |
| "Now Playing info is just setting metadata" | Remote commands, artwork handling, and state sync have 15+ gotchas. |
| "I'll use UIImagePickerController for photos" | PHPicker/PhotosPicker are the modern API — no permissions required. |
| 想法 | 实际情况 |
|---|---|
| "相机捕获只是AVCaptureSession的设置" | 相机需要中断处理程序、旋转适配和线程要求。 |
| "我用简单的API调用添加触觉反馈就行" | 触觉设计有对应每种交互类型的模式,需符合HIG规范。 |
| "ShazamKit只是SHSession+委托" | iOS 17+提供的SHManagedSession可消除所有AVAudioEngine样板代码。 |
| "Now Playing信息只是设置元数据" | 远程命令、 artwork处理和状态同步有15+个易出错点。 |
| "我用UIImagePickerController处理照片" | PHPicker/PhotosPicker是现代API——无需权限。 |
Example Invocations
调用示例
User: "How do I set up a camera preview?"
→ Read:
skills/camera-capture.mdUser: "Camera freezes when I get a phone call"
→ Read:
skills/camera-capture-diag.mdUser: "How do I let users pick photos in SwiftUI?"
→ Read:
skills/photo-library.mdUser: "Implement haptic feedback for button taps"
→ Read:
skills/haptics.mdUser: "Now Playing info doesn't appear on Lock Screen"
→ Read:
skills/now-playing.mdUser: "How do I identify songs with ShazamKit?"
→ Read:
skills/shazamkit.mdUser: "Check my camera code for issues"
→ Launch: agent
camera-auditor用户:"如何设置相机预览?"
→ 阅读:
skills/camera-capture.md用户:"接电话时相机冻结"
→ 阅读:
skills/camera-capture-diag.md用户:"如何在SwiftUI中让用户选择照片?"
→ 阅读:
skills/photo-library.md用户:"为按钮点击实现触觉反馈"
→ 阅读:
skills/haptics.md用户:"Now Playing信息未显示在锁屏上"
→ 阅读:
skills/now-playing.md用户:"如何用ShazamKit识别歌曲?"
→ 阅读:
skills/shazamkit.md用户:"检查我的相机代码是否有问题"
→ 启动: agent
camera-auditor