Opera8 commited on
Commit
6d8f979
·
verified ·
1 Parent(s): b989671

Update index.html

Browse files
Files changed (1) hide show
  1. 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/eyJpdiI6InZSVUdlLzBlR0FzOHZJdXFZeWhER0E9PSIsInZhbHVlIjoiWFhqRXBLc29vSFpHdk9nYmRjZGVuWHRHRHVSZHRlTG1BUENLaE5mNXBNVVRGWFg3ZWN0djJ5K1dIY1RqTHJGaCIsIm1hYyI6IjIzYzFlZTMwYmVmMTdkYjQ0YTQ4YWMxNmFhN2RmNWQ2OTU0MjI0ZWVlZGI3ZjJjMjhkNmQxNjM4MDFlZTIxNmUiLCJ0YWciOiIifQ==/20934991';
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(data, lyrics, idea) {
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')) addAudio(obj);
745
- else if (obj && typeof obj === 'object') {
746
- if (obj.url && obj.url.endsWith('.mp3')) addAudio(obj.url);
747
- Object.values(obj).forEach(traverse);
 
 
 
 
 
 
748
  }
749
  }
750
- traverse(data);
 
 
 
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
- alert("فایل صوتی یافت نشد!");
 
761
  step1.style.display = 'block';
762
  historySection.style.display = 'block';
763
  }
764
  }
765
 
766
- function formatLyrics(text) { return text.replace(/\[(.*?)\]/g, '<span class="lyrics-tag">[$1]</span>'); }
 
 
 
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 * 4, true);
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');