Как предоставить искомое/скребаемое аудио на фронтенд с помощью Django
Я пытаюсь предоставить аудио в HTML шаблоне Django, первоначально я пробовал так:
<audio id="audio" src="{{audio_path}}" controls></audio>
Этого было достаточно для воспроизведения аудио на сайте с паузой/воспроизведением, увеличением/уменьшением скорости, увеличением/уменьшением громкости, но пользователь не мог перемещать индикатор выполнения вообще, он либо застывал, либо возвращался в начальное положение.
Я много искал и нашел много вещей, которые утверждали, что позволяют искать/скрести, но ни одна из них не сработала. В настоящее время мой код выглядит следующим образом, сначала представление аудио API:
class AudioFetchView(View):
def get(self, request, audio_id, *args, **kwargs):
audio_file = UploadAudio.objects.get(pk=audio_id)
response = StreamingHttpResponse(content_type='audio/mpeg')
response['Content-Disposition'] = 'attachment; filename=%s' % audio_file.path
response['Accept-Ranges'] = 'bytes'
response['X-Sendfile'] = audio_file.path
return response
audio_fetch = AudioFetchView.as_view()
Затем HTML:
<audio id="audio" crossOrigin="anonymous" preload="auto" src="{{audio_fetch_url}}"></audio>
Теперь аудио не может быть воспроизведено вообще, сообщение об ошибке следующее: "Uncaught (in promise) DOMException: The element has no supported sources."
Кто-нибудь знает, как правильно предоставить .mp3 файл во фронтенд таким образом, чтобы можно было скрабировать/искать?