feat: 完善 OTG UAC 音频支持

This commit is contained in:
mofeng-git
2026-07-26 11:59:58 +08:00
parent f86cba6ce5
commit 5963dfa01a
46 changed files with 2875 additions and 1867 deletions

View File

@@ -92,6 +92,27 @@ export default {
},
actionbar: {
paste: 'Paste Text',
micStart: 'Start Transfer',
micStop: 'Stop Transfer',
microphoneTransfer: 'Audio Transfer Settings',
grantMicrophonePermission: 'Allow Microphone Access',
noMicrophoneDevices: 'No audio input devices found',
micState: {
idle: 'Idle',
starting: 'Starting',
streaming: 'Streaming',
stopping: 'Stopping',
error: 'Error',
},
micError: {
'secure-context-required': 'Browsers only allow microphone access on HTTPS pages. Open the console over HTTPS.',
unsupported: 'This browser cannot encode microphone audio with WebCodecs. Use a browser with WebCodecs support.',
'permission-denied': 'Microphone access was denied. Allow it in your browser site permissions.',
'device-unavailable': 'The selected microphone is unavailable. Check the device connection or choose another input.',
'connection-failed': 'Could not connect to USB microphone transfer. Check that UAC is enabled and no other session is active.',
'encoder-failed': 'The browser audio encoder failed and transfer was stopped.',
unknown: 'Microphone transfer failed to start. Check the device and browser permissions.',
},
virtualMedia: 'Virtual Media',
virtualMediaTip: 'Manage virtual media devices',
power: 'Power',
@@ -142,11 +163,11 @@ export default {
relative: 'Relative',
applying: 'Applying...',
audioConfig: 'Audio',
playbackControl: 'Playback',
playbackControl: 'Audio Playback Settings',
volume: 'Volume',
audioDeviceSettings: 'Device Settings',
audioEnabled: 'Audio',
audioDevice: 'Device',
audioDevice: 'Audio Input Device',
audioQuality: 'Quality',
qualityVoice: 'Voice',
qualityBalanced: 'Balanced',
@@ -414,6 +435,10 @@ export default {
mediaCount: 'Media {count}/{capacity}',
mediaSlotsFull: 'Media slots are full; no more media can be mounted',
reenumerating: 'USB is re-enumerating',
errors: {
mediumRemovalPrevented: 'The controlled computer is using this virtual medium and has prevented its removal. Eject or unmount it on the controlled computer, then try again.',
disconnectFailed: 'Virtual media could not be disconnected. Please try again or check the system logs.',
},
},
settings: {
title: 'Settings',
@@ -655,7 +680,6 @@ export default {
otgNetworkNone: 'None',
otgNetworkInterfacesLoadFailed: 'Failed to load bridge interfaces',
uacMic: 'USB Microphone',
uacMicDesc: 'Creates a virtual USB microphone on the target machine. Audio from your browser is streamed to the target.',
otgDescriptor: 'USB Device Descriptor',
vendorId: 'Vendor ID (VID)',
productId: 'Product ID (PID)',
@@ -890,6 +914,17 @@ export default {
networkError: 'Network Error',
disconnected: 'Disconnected',
hidUnavailable: 'HID Unavailable',
audioPlayback: 'Audio Playback',
audioTransfer: 'Audio Transfer',
playbackActive: 'Playing',
playbackStopped: 'Stopped',
transferIdle: 'Not Transmitting',
transferStarting: 'Starting',
transferWaiting: 'Waiting for Target',
transferActive: 'Transmitting',
transferStalled: 'Target Not Receiving',
transferStopping: 'Stopping',
transferError: 'Transfer Error',
quality: 'Quality',
streaming: 'Streaming',
off: 'Off',

View File

@@ -94,6 +94,26 @@ export default {
paste: '粘贴文本',
micStart: '开始传声',
micStop: '停止传声',
microphoneTransfer: '音频传声设置',
grantMicrophonePermission: '允许访问麦克风',
noMicrophoneDevices: '未发现音频输入设备',
micState: {
idle: '未传输',
starting: '启动中',
streaming: '传输中',
stopping: '停止中',
error: '异常',
},
micError: {
'secure-context-required': '浏览器仅允许 HTTPS 页面访问麦克风,请通过 HTTPS 打开控制台。',
unsupported: '当前浏览器不支持 Opus 麦克风传输,请使用支持 WebCodecs 的浏览器。',
'permission-denied': '麦克风权限被拒绝,请在浏览器站点权限中允许访问。',
'device-unavailable': '所选麦克风不可用,请检查设备连接或选择其他输入设备。',
'connection-failed': '无法连接 USB 麦克风传输服务,请确认 UAC 已启用且没有其他会话占用。',
'encoder-failed': '浏览器音频编码器异常,传输已停止。',
unknown: '麦克风传输启动失败,请检查设备和浏览器权限。',
},
virtualMedia: '虚拟媒体',
virtualMediaTip: '管理虚拟媒体设备',
power: '电源',
keyboard: '虚拟键盘',
@@ -143,11 +163,11 @@ export default {
relative: '相对定位',
applying: '应用中...',
audioConfig: '音频',
playbackControl: '播放控制',
playbackControl: '音频播放设置',
volume: '音量',
audioDeviceSettings: '设备配置',
audioEnabled: '启用音频',
audioDevice: '音频设备',
audioDevice: '音频输入设备',
audioQuality: '音频质量',
qualityVoice: '语音',
qualityBalanced: '均衡',
@@ -414,6 +434,10 @@ export default {
mediaCount: '介质 {count}/{capacity}',
mediaSlotsFull: '介质槽已满,无法挂载更多介质',
reenumerating: 'USB 正在重新枚举',
errors: {
mediumRemovalPrevented: '被控机正在使用该虚拟介质,并拒绝移除。请先在被控机中弹出或卸载该介质,然后重试。',
disconnectFailed: '虚拟介质断开失败,请重试或检查系统日志。',
},
},
settings: {
title: '系统设置',
@@ -655,7 +679,6 @@ export default {
otgNetworkNone: '无',
otgNetworkInterfacesLoadFailed: '无法获取桥接网卡列表',
uacMic: 'USB 麦克风',
uacMicDesc: '启用后目标机将看到一个 USB 麦克风设备,音频从浏览器传入',
otgDescriptor: 'USB 设备描述符',
vendorId: '厂商 ID (VID)',
productId: '产品 ID (PID)',
@@ -890,6 +913,17 @@ export default {
networkError: '网络错误',
disconnected: '已断开',
hidUnavailable: 'HID不可用',
audioPlayback: '音频播放',
audioTransfer: '音频传声',
playbackActive: '播放中',
playbackStopped: '已停止',
transferIdle: '未传声',
transferStarting: '正在启动',
transferWaiting: '等待目标机',
transferActive: '传声中',
transferStalled: '目标机未接收',
transferStopping: '正在停止',
transferError: '传声异常',
quality: '质量',
streaming: '传输中',
off: '关闭',