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

Это рабочий компонент темы, основанный на существующем (сломанном) плагине записи голоса. Функциональность остаётся прежней.

Пожалуйста, убедитесь, что вы добавили mp3 в список разрешённых расширений.

28 лайков

15-секундная аудиозапись с iPad прошла не очень успешно. После 10 минут обработки я сдался. Теперь у меня рядом iPhone, и 10-секундная аудиозапись была обработана примерно за 5 минут.

Впрочем, процессоры, нагрузка и память Droplet DigitalOcean в полном порядке. Без понимания того, что происходит, кажется, что ничего не происходит. Даже отмена не работает.

Что вы посоветуете, с чего начать расследование? Отправляет ли устройство записи на сервер wav-файл или что-то ещё, а компонент преобразует его в mp3, используя инструменты сервера? Если так, возможно, мне не хватает некоторых утилит.

Я использую S3, может ли это быть проблемой?

Редактирование:

Это проблема iPad/iPhone. На Windows-ноутбуке всё работало отлично.

То же самое беспокоило все плагины записи в Moodle. Должны использоваться какие-то уловки, я действительно не знаю какие, например, использование отдельного приложения для записи и затем загрузка файла. Однако между версиями iOS могут быть различия.

Есть ли какие-то CSS-трюки, чтобы скрыть загрузку или скорость?

4 лайка

Android 10 имеет ту же проблему. Никогда не конвертируйте и не загружайте…

2 лайка

Да, у существующего плагина были те же проблемы на мобильных устройствах (когда он работал). Эти проблемы можно будет правильно решить только одним из следующих способов:

  • возможно, использованием другой библиотеки JavaScript, которая применяет веб-воркеры (если вы найдете такую, я смогу её заменить); или
  • обработкой файлов на стороне сервера (это «правильный» подход).

Этот компонент темы — лишь прямая переноска функционала существующего плагина в формат компонента темы, с добавлением обновлений совместимости для работы с последней версией Discourse. Для более комплексного решения потребуется выделенный проект, и на это уйдет несколько месяцев.

Я выполнил эту конверсию, чтобы существующие пользователи плагина могли пользоваться тем же функционалом, что и раньше :slight_smile:

8 лайков

Чтобы избежать лишних установок и вопросов, стоит ли указать в описании, что компонент очень ограничен и работает только на ПК?

Функция загрузки аудиофайла для обработки вместо записи не должна занимать недели, но, с другой стороны, я не умею программировать.

Что ж, это мило с вашей стороны сделать эту работу. Но с моей точки зрения, как у бесплатного пользователя, вы могли бы лучше использовать своё свободное время, чем оказывать реанимационную помощь мёртвым :wink: Извините.

2 лайка

Мне интересно, почему именно mp3, а не другой звуковой формат, например wav или vorbis?

2 лайка

В основном из-за размера файла, так как wav занимает очень много места. Поддержка vorbis ограничена. Файлы MP3 имеют разумный размер, и их поддерживают все устройства и браузеры.

2 лайка

Однако использование vorbis было бы ещё более эффективным с точки зрения размера. Было бы здорово, если бы это стало опцией :slight_smile:

2 лайка

Загрузка аудио в виде файла была бы ещё лучше :upside_down_face:

2 лайка
  1. Я хотел бы помочь проекту Discourse, переведя плагины на португальский язык (бразильский вариант). 2. Существует несколько плагинов, которые мне очень нравятся, и я хочу перевести их на португальский (бразильский). 3. Как я уже говорил ранее, я стремлюсь стать хорошим разработчиком программного обеспечения, и один из способов, который я придумал, — это перевод плагинов в Discourse. Мне кажется, что таким образом я вношу свой вклад в развитие Discourse. 4. Как я уже упоминал, я могу отправить pull request, если вам это интересно и вы считаете это полезным. 5. Я считаю, что Discourse — это удивительная платформа, а её сообщество — замечательное. 6. Я обсуждал эти моменты ранее, комментируя этот пост: https://meta.discourse.org/t/voice-recording-plugin — но там сказали, что плагин не работает (это ссылка на старый пост). Здесь, как утверждалось, находится наиболее стабильная версия. Поэтому я обращаюсь сюда — надеюсь, это как-то поможет. 7. Насколько мне известно на данный момент, файлы .yml можно переводить. Это очень интересно, если вы хотите поддерживать несколько языков: у вас может быть множество пользователей, которые хотят использовать ваш плагин на родном языке. В этом аспекте я надеюсь внести свою помощь. #### идея ##### ptbr.yml : yaml ptbr: composer: composer_audio_upload_button_title: "Записать и отправить аудиофайл" composer_audio_upload: button_text: "Записать и отправить аудио" title: "Записать и отправить аудио" theme_metadata: description: "Добавьте свой голос в сообщения"
6 лайков

Отлично! @keegan настраивает новый конвейер переводов для Pavilion, который будет включать этот компонент темы и ряд других плагинов Discourse. Он сможет рассказать вам подробности.

6 лайков

Это было бы интересным дополнением вместе с chat. Позвольте мне поделиться этим с командой — мы уже обсуждаем это, но, возможно, это появится не сразу.

7 лайков

@angus

Могу ли я отправить pull request?

  • Я ждал вашего ответа ;D
  • Если вы разрешите, пожалуйста, отправьте pull request.

Привет @anon40545810,

Рады слышать, что вы хотите внести свой вклад через переводы! :smiley:

Мы переходим на использование Crowdin для всех наших официальных плагинов Pavilion.

Чтобы отправить переводы, вам сначала потребуется аккаунт в Crowdin. Вы можете зарегистрироваться здесь. После создания аккаунта вы можете отправить свои переводы для компонента диктофона, выполнив следующие шаги:

  1. Перейдите на профиль Pavilion в Crowdin здесь.
  2. Выберите плагин, который вы хотите перевести. В вашем случае выберите discourse-voice-recorder.
  3. Выберите язык, для которого вы хотите сделать перевод. В вашем случае выберите Португальский, Бразильский.
  4. Отсюда вы можете нажать кнопку Перевести всё.
  5. Теперь вы можете приступить к переводу! :open_book:
    • Слева находятся строки, которые можно выбрать для перевода.
    • Вы можете ввести переводы в текстовом поле в центре и нажать «Сохранить», когда закончите.

Не стесняйтесь написать мне в личные сообщения (@keegan), если у вас возникнут вопросы :slight_smile:

8 лайков

Спасибо большое за обратную связь ;D

4 лайка

@angus @keegan

Как и обещали — переводы на португальский (Бразилия) завершены:

  • Макеты
  • Диктофон
  • Пользовательский мастер
  • Заявки
  • Юридические инструменты
  • Многоязычность
  • Журнал
  • Упоминаемые
  • Рейтинги
  • Локации

здесь: Crowdin Enterprise

6 лайков

Спасибо! Мы отправим их в кратчайшие сроки.

3 лайка

Я наткнулся на эту JS-библиотеку, но не уверен, сработает ли она или её будет легко заменить:

Но решил задокументировать это здесь, на случай, если кому-то интересно попробовать.

Редактирование: эта может быть ещё лучше, так как в ней также есть опция для записи видео и экрана. Единственная сложность может заключаться в том, что она записывает в wav или ogg, а не в mp3, но сказано, что есть простой способ конвертировать wav в mp3 с помощью другой библиотеки:

3 лайка

Здравствуйте. При установке этого компонента я получил следующую ошибку.
image

Извините, я не программист и не понимаю, в чём дело. Могу ли я что-то настроить самостоятельно в своём Discourse или мне нужно привлечь специалиста?

1 лайк

Нет, вам не нужен никакой специалист. Это небольшая ошибка в локализации, то есть в переводе, и она ничего не означает.

К тому же этот компонент больше похож на демонстрацию, чем на инструмент для продакшена. Вы (и ваши пользователи) должны записывать аудио более простым способом: используйте свои устройства (мобильный телефон, диктофон, компьютер или что-то ещё) и загрузите файл обычным образом.

В целом аудио поддерживается хуже всего. Учитывая рост популярности подкастов, ситуация выглядит немного странно. iPhone даже не поддерживает MP3 нативно (насколько мне известно), и у вас не так много вариантов для потоковой передачи аудиофайлов.

2 лайка