@driverx18

Почему при загрузке аудио формата mp3 вк говорит, что его нужно переконвертировать в mp3?

Может у кого то был схожий трабл
В общем, мне нужно со своего сервера грузить по вк апи некоторые аудио. 90% из этих аудио не отправляются, отдается error -2. (Это по докам, якобы, проблема с приложением, но даже вк саппорт говорит что с приложением все норм).
Причем одно из 10 приложений грузится, другие нет. Аудио формата Mp3. Гружу руками уже аудио, на что вк говорит: "Не удалось сохранить аудиозапись.
Попробуйте переконвертировать MP3-файл и загрузить его снова."

Код (PHP, когда гружу с сервера)
private function getServerAddress()
    {
        $buildQuery = [
            'access_token' => $this->apiKey,
            'v' => '5.95'
        ];
        $endpoint = 'https://api.vk.com/method/audio.getUploadServer?' . http_build_query($buildQuery);
        $content = json_decode(file_get_contents($endpoint));
        return $content->response->upload_url;
    }

    public function uploadToVKServer()
    {
        $address = $this->getServerAddress();
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $address);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => new CURLFile(dirname(__FILE__) . '/calls/' . $this->callId . '.mp3', 'audio/mp3')]);
        $data = json_decode(curl_exec($ch), true);

        curl_close($ch);

        $dataToQuery = [
            'server' => $data['server'],
            'audio' => $data['audio'],
            'hash' => $data['hash'],
            'access_token' => $this->apiKey,
            'v' => '5.95',
        ];
        $content =
            file_get_contents('https://api.vk.com/method/audio.save?' . http_build_query($dataToQuery));
        $content = json_decode($content, true);

        return 'audio' . $content['response']['owner_id'] . '_' . $content['response']['id'];


Может кто то сталкивался? Аудио и так мп3, но оно просит переконвертить
  • Вопрос задан
  • 2620 просмотров
Пригласить эксперта
Ответы на вопрос 1
Noizefan
@Noizefan
Конвертните в wav и обратно в mp3
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы