Вверх ↑
Этот топик читают: Гость
Ответов: 8930
Рейтинг: 823
#1: 2015-02-21 16:38:07 ЛС | профиль | цитата
Задача: При обработке звука с помощью BASS_RecordStart уменьшить размер выдаваемого им потока с ~0.1 сек (при 44100 и стерео -- ~17600 байт) до желаемой длины из ряда 256, 512, ... 8192, 16384 байт. Как это сделать не знаю, а хотелось бы. Кто может?
Если никто не может, то хотя бы в схеме: code_35146.txt разбиваю этот поток в IC, и формирую маленькие поточки через MemoryStream, пробовал сделать поток внутри IC, но знаний не хватило Может у кого эти знания есть?
карма: 19

0
файлы: 1code_35146.txt [8.3KB] [1432]
Ответов: 16884
Рейтинг: 1239
#2: 2015-02-21 22:55:58 ЛС | профиль | цитата
Не уверен, что понял правильно.
code_35155.txt
+ дождь, гроза. (не думается совершенно )
------------ Дoбавленo в 22.55:
Леонид, нужно ещё добавить в IC точку doStop и код:

procedure THiAsmClass.doStop;
begin
If Assigned(Ms) then Ms.Free;
end;
и почистить код от лишних переменных.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_35155.txt [5.1KB] [251]
Голосовали:Леонид
Ответов: 8930
Рейтинг: 823
#3: 2015-02-22 00:43:01 ЛС | профиль | цитата
Tad, спасибо! Заодно увидел, где ошибался: надо новый поток обозначить Ms:=NewMemoryStream; а я от великого ума нацарапал Ms:=NewMyStream;
Net2Com,
Реклама экономайзеров для лохов писал(а):
Скорее берите, пока не удалили

code_35159.txt
карма: 19

1
файлы: 1code_35159.txt [6.4KB] [263]
Голосовали:Net2Com
Ответов: 209
Рейтинг: 1
#4: 2015-02-22 01:04:54 ЛС | профиль | цитата
Tad, Леонид, ого, очень нужное решение которое пригодится многим
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#5: 2015-02-22 08:46:41 ЛС | профиль | цитата
Вот почистил.
leo.rar
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1leo.rar [2.3KB] [193]
Ответов: 209
Рейтинг: 1
#6: 2015-02-22 12:47:13 ЛС | профиль | цитата
Леонид, Tad,

вылезает интересная особенность, которая ставит в тупик
попробуйте воспроизвести звук следующим образом (буфер равен отправке)

1)быстро выбрать кол-во равное буферу и нажать запись

если ошибок нет- перезапустите схему несколько раз с быстрым выбором и стартом работы

2)если ошибок нет после 10 стартов быстрых проделать тоже самое но громко проговоря при старте что-нибудь

3) или дебагом проверить связку IC и REC

- получается крэш и зачастую рантайм при закрытии.

аналогично нажать стоп и закрыть - ошибка

как вы думаете от чего так?


карма: 0

0
Ответов: 8930
Рейтинг: 823
#7: 2015-02-22 13:54:37 ЛС | профиль | цитата
Net2Com, наверное doStop в IC отключить, без него не виснет программка:
Без_dostop.jpg
Net2Com писал(а):
..несколько раз с быстрым выбором и стартом работы..

Мультфильм писал(а):
Лошадь с четырьмя ногами ра-аз, два-а, три-и, четы-ыре, медленно, а у меня две ноги, раз-два, раз-два, быстро!

карма: 19

0
файлы: 1Без_dostop.jpg [97.3KB] [509]
Ответов: 2059
Рейтинг: 132
#8: 2015-02-22 13:58:14 ЛС | профиль | цитата
Вот, как вариант, кодировать в MP3.
http://forum.hiasm.com/forum_serv.php?q=56&id=3899
Надо упростить компонент, или добавить точки для потока.
Брать не из файла, а из потока WAV (там есть, на самом деле берётся из потока), и писать не в файл, а в поток MP3 (там есть, из потока пишется в файл).
[offtop]Может стоит доделать?[/offtop]
16.55
Исправил ошибку.

карма: 6

0
Ответов: 16884
Рейтинг: 1239
#9: 2015-02-22 15:15:24 ЛС | профиль | цитата
Леонид писал(а):
наверное doStop в IC отключить, без него не виснет программка:
А кто будет освобождать память от Ms (MemoryStream) ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#10: 2015-02-22 15:58:17 ЛС | профиль | цитата
Tad, Пушкин А. С.?
Проверю к вечеру, жрёт/не жрёт
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#11: 2015-02-22 16:26:25 ЛС | профиль | цитата
Леонид писал(а):
Проверю к вечеру

И этот вариант заодно. leo_1.rar
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1leo_1.rar [2KB] [179]
Ответов: 209
Рейтинг: 1
#12: 2015-02-22 16:49:28 ЛС | профиль | цитата
Леонид писал(а):
Лошадь с четырьмя ногами ра-аз, два-а, три-и, четы-ыре, медленно, а у меня две ноги, раз-два, раз-два, быстро!



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

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

хочется понять как с ним работать не оставляя вопрос работы стрима с мыслью о некой неуловимой ошибки...

flint2 писал(а):
Может стоит доделать?

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

-вопрос
добавил элемент новый в среду, на схеме тестовой он есть но во вкладках медиа его не найти. как это лечится?



вся схема стрима звука

просьба потестировать у себя на машинах. запускать одновременно с указанием второй машины и того же порта

мое максимальное время 40 минут получилось

в схеме использован альтернативный tcp (Файловый архив >> Компоненты >> Альтернативные компоненты сервера и клиента TCP)
но можно и стандартным обойтись


карма: 0

0
Ответов: 2059
Рейтинг: 132
#13: 2015-02-22 17:05:07 ЛС | профиль | цитата
Net2Com
вопрос, добавил элемент новый в среду, на схеме тестовой он есть но во вкладках медиа его не найти. как это лечится?

Куда-то не туда установился.
Наверное так:
1. Удалить.
2. Все *.pas скопировать в ...Elementsdelphicode
3. Принудительно установить "delphi" и "Media" при перетягивании файла ini.
Я перезалил, была опечатка в hiLameENC.pas, 91 строка. Читал и писал в один и тот-же файл. Выше я поправил пост.
карма: 6

0
Ответов: 209
Рейтинг: 1
#14: 2015-02-22 17:17:09 ЛС | профиль | цитата
flint2, тестовая схема кодировщика PUSH> ОТКРЫТЬ (без выбора) - runtime получается
------------ Дoбавленo в 17.17:
flint2, у меня еще один элемент (другой) так же прописался..в схеме есть а на панеле инструментов нет... среду может как-то обновить... не понянна...
)
карма: 0

0
Ответов: 2059
Рейтинг: 132
#15: 2015-02-22 17:19:22 ЛС | профиль | цитата
Наверное из-за прогресса. Попробуй так.
code_35168.txt
А wav файл-то есть, который надо кодировать?
у меня еще один элемент (другой) так же прописался..в схеме есть а на панеле инструментов нет... среду может как-то обновить... не понянна...

Так всё сначала вычистить надо!!! И схему (вкладку) закрыть, или из схемы удалить компонент!!!


карма: 6

0
файлы: 1code_35168.txt [889B] [403]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)