Компонент диктофона

Ты лучший, Энгус! Я протестировал в Safari, и часть загрузки работает отлично, но, к сожалению, воспроизведение не работает. Не уверен, связаны ли эти ошибки:

Привет, Дэвид, не переживай. Воспроизведение точно работает в Safari. Я настроил для тебя демо на demo.pavilion.tech. Вот скринкаст, где я использую воспроизведение в Safari. Ты не услышишь звук воспроизведения из-за особенностей записи скринкаста, но поверь, он есть :slight_smile: (и извини за фоновый шум).

Попробуй отключить другие темы или плагины на твоем сайте, чтобы проверить, не они ли нарушают работу JavaScript в Safari.

1 лайк

Спасибо, Энгус. Похоже, проблема изолирована в этом посте, надеюсь, это единичный случай.

Воспроизведение у меня не работает: запись через Chrome (macOS), а попытка воспроизведения — через Safari (macOS).

Наверное, это та проблема, которую я описывал ранее: браузеры не поддерживают кодеки API MediaRecorder во всех возможных комбинациях.

Работает ли такая комбинация у других? Запись через Chrome, воспроизведение в Safari?

Я подтверждаю эту ошибку в своём Discourse @peter.be — вот пример…

https://story.pub/t/voice-recorder-tc-chrome-on-macos/14

Записи, сделанные в Chrome на MacOS:

(То же самое, что и в моем отчёте об ошибке от нескольких дней назад, за исключением того, что эта запись была сделана в Chrome на MacOS)

iMac Desktop (MacOS)

  • воспроизводится в Chrome на MacOS
  • воспроизводится в Firefox на MacOS

  • не воспроизводится в Safari на MacOS

iPhone, iPad (iOS)

  • не воспроизводится в Chrome на iOS
  • не воспроизводится в Safari на iOS
  • не воспроизводится в Firefox на iOS
  • не воспроизводится в Brave на iOS
    Tired Tv Land GIF by TV Land Classic
2 лайка

Вот как я вижу плеер по вашей ссылке:

А это — с моего форума:

У меня на iPad и моём устройстве всё работает, а у вас — нет. Поэтому я просто задаюсь вопросом.

1 лайк

@Jagster, какую ОС и браузер вы использовали для записи клипа на вашем сайте?

iPadOS 16.6 и Safari/DiscourseHub. Но на iPad браузеры в этом отношении одинаковы.

Я могу записывать в Chrome на iPad. Но воспроизведение не работает и выдаёт ошибку в Chrome на iPad.

Однако та же запись воспроизводится в Safari на iPad и в Chrome на компьютере с Windows.

Также она воспроизводится в Chrome, Safari и Firefox на iMac/macOS.

https://story.pub/t/voice-recorder-tc-chrome-on-ios/15

И всё же я мог играть в это через Chrome на iPad.

Так как у других тоже возникают проблемы, хочу отметить, что пост, с которым у меня были трудности, был создан с Android в MS Edge, а ошибки воспроизводились в Safari на рабочем столе.

@angus, может, пока пометим это как неработающее, а в первом сообщении темы укажем на текущий рабочий плагин Discourse Audio Message?

Ничего не сломано. Оно работает точно так же, как и всегда, а даже лучше (теперь также записывает в Safari). Вы просите меня расширить функциональность, а не исправить ошибку.

Проблемы, о которых вы говорите, связаны с воспроизведением определённых аудиоформатов в теге audio в Safari из-за особенностей его рендеринга в HTML-разметке постов Discourse (@peter.be, дело не столько в кроссбраузерной совместимости API MediaRecorder).

Если бы вы загрузили определённые аудиоформаты без использования плагина или компонента темы, просто как файл, в Safari вы бы увидели то же самое поведение. Если вы хотите решить эту конкретную проблему, вам нужно либо

  • изучить проблему самостоятельно и создать PR,
  • нанять кого-то, кто сделает это за вас,
  • подать запрос на улучшение обработки форматов в тегах audio в HTML-разметке постов Discourse.
4 лайка

Вот почему я решил конвертировать записанные голосовые сообщения в формат MP3 — назовите это проблемами совместимости между браузерами с MediaRecorder API или неспособностью некоторых браузеров воспроизводить определённые кодеки; назовите это «сломанным» или нет; в любом случае, мне требовалось решение, обеспечивающее воспроизведение во всех браузерах, независимо от того, в каком браузере был записан файл.

Поскольку все браузеры поддерживают воспроизведение MP3, я выбрал этот путь.

Я просто хотел указать на причины, по которым определённые сценарии использования не работают с MediaRecorder API, и объяснить, какое решение я выбрал для плагина и почему.

На этом я остановлюсь. Если у меня когда-нибудь появится возможность, я, возможно, более внимательно изучу компонент темы, так как согласен, что это более удобный способ установки и поддержки, но в данный момент, к сожалению, у меня не будет времени внести свой вклад :folded_hands:

2 лайка

Спасибо @angus за время, потраченное на исправление модального окна и улучшение этого TC. :pray:

4 лайка

Можете обновить этот компонент темы, чтобы он работал в чате? Или есть другой плагин или компонент темы, позволяющий записывать аудиофайлы в чате?

3 лайка

Это неплохое предложение. Не могли бы вы объяснить ваш кейс?

Кроме того, вклад очень полезен для таких задач — будь то PR или спонсирование необходимой работы разработчиков.

Это то, чего хотят наши пользователи. Они хотели бы записывать и отправлять аудио во время чата, как в WhatsApp.

Хотя у меня пока не очень большая аудитория, я могу рассмотреть возможность спонсирования этой разработки. Тот, кто возьмется за эту работу, может создать со мной приватную тему.

6 лайков

Было бы здорово, если бы вы создали тему в Marketplace для этого. :+1:

4 лайка

Я не могу заставить этот компонент работать в Debian/GNU/Linux с Firefox (Debian 12, Firefox 115.5.0esr). Кто-нибудь пробовал эту конфигурацию?

Может ли проблема с CSP, связанная с window.injectScript, блокировать работу?