Когда я пытаюсь вставить свой частный трек в Soundcloud, он возвращает 404.
Код, который я использую, это:
<audio src=http://api.soundcloud.com/tracks/########/stream?client_id=####" preload="auto"></audio>
Кто-нибудь знает, как это исправить?
(Я знаю о методе встраивания iframe, который предлагает SC, но он не нужен, разумный дизайн (слишком большой и некрасивый))
Чтобы поделиться личным треком, вы должны передать секретный токен с URL, вы можете найти его в диалоге общего доступа на веб-сайте. Таким образом, ваш URL будет выглядеть примерно так:
<audio src=http://api.soundcloud.com/tracks/########/stream?client_id=####&secret_token=#-#####" preload="auto"></audio
Обратите внимание на добавление &secret_token=#-#####
,
Как вы думаете, это хорошая идея, чтобы поместить свой секретный ключ в HTML-исходный код?
Доступ к потоку с любой дорожки SoundCloud будет перенаправлен на источник mp3, размещенный на ec-media.soundcloud.com
, Возможное решение состоит в том, чтобы вставить фактическую mp3-ссылку в аудио-тег.
Посылка вызова:
https://api.soundcloud.com/i1/tracks/{track_id}/streams?client_id={api_key}&secret_token=#-#####
должен дать что-то похожее на это:
{
hls_mp3_128_url: "https://ec-hls-media.soundcloud.com/playlist/{long-hash-key}",
rtmp_mp3_128_url: "rtmp://ec-rtmp-media.soundcloud.com/mp3{long-hash-key}",
preview_mp3_128_url: "https://ec-preview-media.sndcdn.com/preview/0/30/{long-hash-key}"}
Каждый трек SoundCloud не только имеет stream
субресурс, но также i1
ресурс, который отображает его доступные потоки. На сегодняшний день я видел только RTMP, HTTPS и HLS. Оттуда вы можете использовать любую ссылку, которая поддерживает ваш вариант использования.
Возможно, полезный пакет node.js: i1-SoundCloud