Update index.html
Browse files- index.html +25 -12
index.html
CHANGED
|
@@ -360,7 +360,7 @@
|
|
| 360 |
const ACE_SPACE_URL = "https://ace-step-ace-step-v1-5.hf.space/";
|
| 361 |
// مشخصات نسخه پولی
|
| 362 |
const PREMIUM_PAGE_ID = '1149636';
|
| 363 |
-
const PREMIUM_URL = '#/nav/online/news/getSingle/1149636/
|
| 364 |
|
| 365 |
let db;
|
| 366 |
let songToDeleteId = null;
|
|
@@ -644,7 +644,6 @@
|
|
| 644 |
loaderText.innerText = "در حال آپلود فایل نمونه...";
|
| 645 |
uploadedAudioObj = await uploadAudioFile(fileToUpload);
|
| 646 |
|
| 647 |
-
// --- **نکته کلیدی: تغییر حالت** ---
|
| 648 |
if (uploadedAudioObj) {
|
| 649 |
mode = "Continuation";
|
| 650 |
}
|
|
@@ -684,7 +683,7 @@
|
|
| 684 |
|
| 685 |
const payload = [
|
| 686 |
getVal('model_select'),
|
| 687 |
-
mode,
|
| 688 |
uploadedAudioObj,
|
| 689 |
getVal('duration_select'),
|
| 690 |
musicPrompt,
|
|
@@ -721,7 +720,7 @@
|
|
| 721 |
}
|
| 722 |
});
|
| 723 |
|
| 724 |
-
function handleAudioOutput(
|
| 725 |
const processedUrls = new Set();
|
| 726 |
let hasResult = false;
|
| 727 |
|
|
@@ -740,14 +739,24 @@
|
|
| 740 |
playerWrapper.innerHTML += `<div class="audio-item"><audio controls autoplay src="${fullUrl}"></audio></div>`;
|
| 741 |
}
|
| 742 |
|
|
|
|
| 743 |
function traverse(obj) {
|
| 744 |
-
if (typeof obj === 'string' && obj.includes('/file=') && obj.endsWith('.mp3'))
|
| 745 |
-
|
| 746 |
-
|
| 747 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 748 |
}
|
| 749 |
}
|
| 750 |
-
|
|
|
|
|
|
|
|
|
|
| 751 |
|
| 752 |
if (hasResult) {
|
| 753 |
const headerText = document.getElementById('resultHeaderText');
|
|
@@ -757,13 +766,17 @@
|
|
| 757 |
finalLyricsBox.innerHTML = formatLyrics(lyrics);
|
| 758 |
window.scrollTo({ top: 0, behavior: 'smooth' });
|
| 759 |
} else {
|
| 760 |
-
|
|
|
|
| 761 |
step1.style.display = 'block';
|
| 762 |
historySection.style.display = 'block';
|
| 763 |
}
|
| 764 |
}
|
| 765 |
|
| 766 |
-
function formatLyrics(text) {
|
|
|
|
|
|
|
|
|
|
| 767 |
|
| 768 |
const canvas = document.getElementById('music-canvas');
|
| 769 |
const ctx = canvas.getContext('2d');
|
|
@@ -804,7 +817,7 @@
|
|
| 804 |
view.setUint16(20, 1, true);
|
| 805 |
view.setUint16(22, numOfChan, true);
|
| 806 |
view.setUint32(24, aBuffer.sampleRate, true);
|
| 807 |
-
view.setUint32(28, aBuffer.sampleRate *
|
| 808 |
view.setUint16(32, numOfChan * 2, true);
|
| 809 |
view.setUint16(34, 16, true);
|
| 810 |
writeString(view, 36, 'data');
|
|
|
|
| 360 |
const ACE_SPACE_URL = "https://ace-step-ace-step-v1-5.hf.space/";
|
| 361 |
// مشخصات نسخه پولی
|
| 362 |
const PREMIUM_PAGE_ID = '1149636';
|
| 363 |
+
const PREMIUM_URL = '#/nav/online/news/getSingle/1149636/eyJpdiI6InZSVUdlLzBlR0FzOHZJdXFZeWhER0E9PSIsInZhbHVlIjoiWFhqRXBL29vSFpHdk9nYmRjZGVuWHRHRHVSZHRlTG1BUENLaE5mNXBNVVRGWFg3ZWN0djJ5K1dIY1RqTHJGaCIsIm1hYyI6IjIzYzFlZTMwYmVmMTdkYjQ0YTQ4YWMxNmFhN2RmNWQ2OTU0MjI0ZWVlZGI3ZjJjMjhkNmQxNjM4MDFlZTIxNmUiLCJ0YWciOiIifQ==/20934991';
|
| 364 |
|
| 365 |
let db;
|
| 366 |
let songToDeleteId = null;
|
|
|
|
| 644 |
loaderText.innerText = "در حال آپلود فایل نمونه...";
|
| 645 |
uploadedAudioObj = await uploadAudioFile(fileToUpload);
|
| 646 |
|
|
|
|
| 647 |
if (uploadedAudioObj) {
|
| 648 |
mode = "Continuation";
|
| 649 |
}
|
|
|
|
| 683 |
|
| 684 |
const payload = [
|
| 685 |
getVal('model_select'),
|
| 686 |
+
mode,
|
| 687 |
uploadedAudioObj,
|
| 688 |
getVal('duration_select'),
|
| 689 |
musicPrompt,
|
|
|
|
| 720 |
}
|
| 721 |
});
|
| 722 |
|
| 723 |
+
function handleAudioOutput(outputData, lyrics, idea) {
|
| 724 |
const processedUrls = new Set();
|
| 725 |
let hasResult = false;
|
| 726 |
|
|
|
|
| 739 |
playerWrapper.innerHTML += `<div class="audio-item"><audio controls autoplay src="${fullUrl}"></audio></div>`;
|
| 740 |
}
|
| 741 |
|
| 742 |
+
// **اصلاح کلیدی:** جستجو را از داخل آرایه data در آبجکت خروجی شروع میکنیم
|
| 743 |
function traverse(obj) {
|
| 744 |
+
if (typeof obj === 'string' && obj.includes('/file=') && obj.endsWith('.mp3')) {
|
| 745 |
+
addAudio(obj);
|
| 746 |
+
} else if (Array.isArray(obj)) {
|
| 747 |
+
obj.forEach(traverse);
|
| 748 |
+
} else if (obj && typeof obj === 'object') {
|
| 749 |
+
if (obj.url && obj.url.endsWith('.mp3')) {
|
| 750 |
+
addAudio(obj.url);
|
| 751 |
+
} else {
|
| 752 |
+
Object.values(obj).forEach(traverse);
|
| 753 |
+
}
|
| 754 |
}
|
| 755 |
}
|
| 756 |
+
|
| 757 |
+
if (outputData && outputData.data) {
|
| 758 |
+
traverse(outputData.data);
|
| 759 |
+
}
|
| 760 |
|
| 761 |
if (hasResult) {
|
| 762 |
const headerText = document.getElementById('resultHeaderText');
|
|
|
|
| 766 |
finalLyricsBox.innerHTML = formatLyrics(lyrics);
|
| 767 |
window.scrollTo({ top: 0, behavior: 'smooth' });
|
| 768 |
} else {
|
| 769 |
+
console.error("No audio file URL found in the response:", outputData);
|
| 770 |
+
alert("فایل صوتی یافت نشد! (ممکن است خطایی در سرور رخ داده باشد)");
|
| 771 |
step1.style.display = 'block';
|
| 772 |
historySection.style.display = 'block';
|
| 773 |
}
|
| 774 |
}
|
| 775 |
|
| 776 |
+
function formatLyrics(text) {
|
| 777 |
+
if(!text) return "";
|
| 778 |
+
return text.replace(/\[(.*?)\]/g, '<span class="lyrics-tag">[$1]</span>');
|
| 779 |
+
}
|
| 780 |
|
| 781 |
const canvas = document.getElementById('music-canvas');
|
| 782 |
const ctx = canvas.getContext('2d');
|
|
|
|
| 817 |
view.setUint16(20, 1, true);
|
| 818 |
view.setUint16(22, numOfChan, true);
|
| 819 |
view.setUint32(24, aBuffer.sampleRate, true);
|
| 820 |
+
view.setUint32(28, aBuffer.sampleRate * 2 * numOfChan, true);
|
| 821 |
view.setUint16(32, numOfChan * 2, true);
|
| 822 |
view.setUint16(34, 16, true);
|
| 823 |
writeString(view, 36, 'data');
|