Необходимо захватить звук активной вкладки с помощью расширения и синхронизировать субтитры.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Необходимо захватить звук активной вкладки с помощью расширения и синхронизировать субтитры.

Сообщение Anonymous »

Я пытаюсь записать звук из браузера с помощью TabCapture, но получаю следующую ошибку и не могу записать звук с активной вкладки.

Код: Выделить всё

let audioStream;

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.message === "check_tab_capture") {
sendResponse({ exists: !!chrome.tabCapture });
} else if (request.message === "start_capture") {
if (chrome.tabCapture) {
chrome.tabCapture.capture({ audio: true }, (stream) => {
if (chrome.runtime.lastError) {
console.error("Error capturing tab audio:", chrome.runtime.lastError.message);
sendResponse({ success: false, error: chrome.runtime.lastError.message });
return;
}
audioStream = stream;
console.log("Audio stream captured:", stream);
sendResponse({ success: true });
});
} else {
console.error("tabCapture API is not available.");
sendResponse({ success: false, error: "tabCapture API is not available." });
}
return true; // Keep the message channel open for asynchronous response
} else if (request.message === "stop_capture") {
if (audioStream) {
audioStream.getTracks().forEach(track => track.stop());
audioStream = null;
console.log("Audio capture stopped.");
sendResponse({ success: true });
} else {
sendResponse({ success: false, error: "No active capture to stop." });
}
} else {
sendResponse({ success: false, error: "Unknown command." }); // Handle unknown commands
}
});{
"manifest_version": 3,
"name": "Tab Capture Checker",
"version": "1.0",
"permissions": [
"tabCapture"
],
"background": {
"service_worker": "background.js"
},
"action": {
"default_popup": "popup.html",
"default_icon": "icon.png"
},
"host_permissions":[
"http://*/*",
"https://*/*",
""
]
}document.getElementById('startCapture').addEventListener('click', () => {
chrome.runtime.sendMessage({ message: "start_capture" }, (response) => {
if (response) {
if (response.success) {
console.log("Capture started successfully.");
} else {
console.error("Capture failed:", response.error);
}
} else {
console.error("No response received from the background script.");
}
});
});

document.getElementById('stopCapture').addEventListener('click', () => {
chrome.runtime.sendMessage({ message: "stop_capture" }, (response) => {
if (response) {
if (response.success) {
console.log("Capture stopped successfully.");
} else {
console.error("Stop capture failed:", response.error);
}
} else {
console.error("No response received from the background script.");
}
});
});


Tab Capture Checker
 


Tab Capture API Checker
Start Capture
Stop Capture



Ошибка в обработчике событий: TypeError: chrome.tabCapture.capture не является функцией в chrome-extension://kfemjdohcipdogcflpipihilhcgdaiib/background.js:8:31
Ответ не получен из фонового сценария.
Не отмечено runtime.lastError: порт сообщения закрыт до получения ответа.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ns-in-sync
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»