בעיה בphp|כשאני קורא למשתנה הוא לא מגיב, כשאני רושם אותו פיזית הוא כן עובד תקין.
-
יש לי קוד PHP ששולח טקסט לשירות tts ומקבל חזרה את קידוד של השמע, ואז אני שומר את הקידוד בקובץ mp3 וככה נוצר לי קובץ עם שמע שאני צריך.
הנתונים שאותם אני שולח בPOST לשירות של הtts הם:
$post_data = '{"voiceService": "servicebin", "voiceID": "he-IL", "voiceSpeed": "0", "text": "'.$body_phone.'"}';כאשר הכל זה הגדרות ו body_phone זה הטקסט בפועל , הנקודה היא שכשאני שם את זה ככה זה לא עובד ומחזיר לי קובץ ריק,
ואילו כשאני שם את המילים ממש, למשל "שלום עולם" הוא כן עובד.
גם אם אני מכריז על המשתנה שורה לפני הוא לא קורא אותו , רק כשאני שם טקסט אמיתי.
אני משתגע כבר מה זה יכול להיות.
ניסתי המון דרכים ושום דבר לא עבד.
מישהו יכול אולי לנסות לעזור?זה הקוד המלא (צונזרו הפרטים הרגישים)
$post_data = '{"voiceService": "servicebin", "voiceID": "he-IL", "voiceSpeed": "0", "text": "'.$body_phone.'"}'; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://ttsfree.com/api/v1/tts", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $post_data, CURLOPT_HTTPHEADER => array( "apikey: jfnjhfjlhsfucihlsidfv56542654894", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { // echo $response; $data = json_decode($response,true); $wave_mp3 = base64_decode($data['audioData']); #echo $wave_mp3; file_put_contents("data/$counter.mp3",$wave_mp3); } -
יש לי קוד PHP ששולח טקסט לשירות tts ומקבל חזרה את קידוד של השמע, ואז אני שומר את הקידוד בקובץ mp3 וככה נוצר לי קובץ עם שמע שאני צריך.
הנתונים שאותם אני שולח בPOST לשירות של הtts הם:
$post_data = '{"voiceService": "servicebin", "voiceID": "he-IL", "voiceSpeed": "0", "text": "'.$body_phone.'"}';כאשר הכל זה הגדרות ו body_phone זה הטקסט בפועל , הנקודה היא שכשאני שם את זה ככה זה לא עובד ומחזיר לי קובץ ריק,
ואילו כשאני שם את המילים ממש, למשל "שלום עולם" הוא כן עובד.
גם אם אני מכריז על המשתנה שורה לפני הוא לא קורא אותו , רק כשאני שם טקסט אמיתי.
אני משתגע כבר מה זה יכול להיות.
ניסתי המון דרכים ושום דבר לא עבד.
מישהו יכול אולי לנסות לעזור?זה הקוד המלא (צונזרו הפרטים הרגישים)
$post_data = '{"voiceService": "servicebin", "voiceID": "he-IL", "voiceSpeed": "0", "text": "'.$body_phone.'"}'; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://ttsfree.com/api/v1/tts", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $post_data, CURLOPT_HTTPHEADER => array( "apikey: jfnjhfjlhsfucihlsidfv56542654894", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { // echo $response; $data = json_decode($response,true); $wave_mp3 = base64_decode($data['audioData']); #echo $wave_mp3; file_put_contents("data/$counter.mp3",$wave_mp3); }
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות