|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Короче вот здесь вот мой пример Генерация телефонных тонов в динамики(наушники) компьютера. кот. генерирует телефонные тона (ожидание, занято и т.п.), хранит их в памяти (без записи на диск) и воспроизводит. Возникла другая задача: играть подобный тон в линию. Чем играть мне лично понятно: VXML Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Но PathForIVR(AudioFile) -это реальный wav, а у меня сгенерирован байтовый массив (следуя моим же старым кодам, в кот. я сунулся). Если играть файл из памяти в динамики, то код примерно такой: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Если я правильно понимаю, udtDTMF -это у меня уже готовый wav файл - со всеми заголовками. Как его скинуть на диск с расширением wav? Обычным методом? Чет я туплю, как байт массив в файл записать? Кажется VB это умеет сам И как туда "тишину" (например 2 сек) в конец дописать?. И кстати, м.б. кто сталкивался? VXML сама телефонные тона типа занято генерировать не умеет? Обычные DTMF -без проблем. А вот "занято" и прочие рингтоны - чет я не нашел. Т.е. я планирую сгенерировать wav на диск и подсунуть его в ivr(VXML) подсистему как файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 11:57 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 11:59 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Konst_One, Ну да, это я сделал, файл родил. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
А как туда дописать silence_duration ? Т.е. например, длинные гудки (RU) Код: vbnet 1. 2. 3. 4. 5. 6.
Гудок (1 сек) -Тишина (4 сек) - Гудок (1 сек) -Тишина (4 сек) -... Файл записанный как выше содержит только Гудок (1 сек) а хорошо бы иметь (чтоб не выставлять паузы в самом vxml, а просто крутить файл по кругу) Гудок (1 сек) -Тишина (4 сек) Свойства memory wav (что сидит в массиве) lngSampleRate = 8000 intBits = 8 -так понимаю число байтов в секунду этим определяется 16 044 байт -длина файла 1 сек, так понимаю 44 байта - заголовок wav Дописать 4 сек тишины: = тупо дописать 16000*4 нулевых байт начиная с FilePos? Или в заголовки wav придется лазить? Не помню сходу, пишется ли в заголовке wav длина. Ну или проще в vxml скрипте паузу указать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 12:41 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Попробовал секунду тишины добавить: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Размер файла честно увеличился. Но показывает в проигрывателе ту же 1 секунду, ее же гудит. Видимо надо заголовки wav править. Чет неохота, пойду лучше гляну что там в VXML на тему паузы есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 12:53 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Ну, в принципе вот так можно: Код: vbnet 1. 2. 3. 4. 5.
Код: xml 1. 2. 3. 4.
Проверил в "системе" -слышу в тел. трубке обычные советские длинные гудки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 13:20 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Добавил сохранение dial-тонов в свой sound-тест-проект (без тишины), м.б. кому пригодится. Остановился на использовании сохраненных wav-файлов. Но на всякий случай контролирую наличие этого wav и регенерирую если вдруг кто-то удалил: Код: vbnet 1. 2. 3. 4. 5.
Из memory конечно проще играть (и красивше, и не надо проверять существование файла), но здесь похоже не тот случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 15:31 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Дмитрий77м.б. кому пригодится Да плюс это: Дмитрий77 Код: xml 1. 2. 3. 4.
которое ВЕБом пахнет, может и пригодится... это в ВЕБе применимо? дайте пжл ссылку где Вы и для чего такое используете, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2014, 19:53 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
катастрофаДа плюс это:которое ВЕБом пахнет, Это VXML, используется в IVR -системах телефонии. В простейшем варианте - проиграть wav-файл в телефонную линию. В более сложном - это когда ты звонишь в какой-нибудь билайн, а там тебе вешают лапшу: нажмите клавишу 2, клавишу 3, ждите еще 12 минут (голосовое меню). У меня конкретно стояла задача воспроизвести длинные гудки в линию при помощи ivr (эмуляция, типичный прием в VOIP). Программа VB генерирует файл .wav (один длинный гудок нужной тональности), а ivr -система его уже воспроизводит (циклически с нужной паузой) куда надо. катастрофаможет и пригодится..., пригодиться (м.б.) тебе может сохранение wav файла находящегося в памяти в wav -файл записанный на жесткий диск. Т.е. то что я к этому тесту дописал на этот раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2014, 00:12 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
Дмитрий77, > это когда ты звонишь в какой-нибудь билайн так я и спрашиваю Вы это делаете программно? с ВЕБ страницы? или откуда? если да, то где то можно глянуть в сети? где ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2014, 08:21 |
|
Как из "memory wav" сделать wav на жестком диске?
|
|||
---|---|---|---|
#18+
катастрофатак я и спрашиваю Вы это делаете программно? или откуда? можно глянуть в сети? где Блин (извини). Или откуда. OpalVoiP Wiki http://sourceforge.net/projects/opalvoip/ Интересно, разбирайся, тестовый проект называется IVR Opal. Но это сильно выходит за рамки топика, VB6 и этого форума. Про VXML можно почитать наверно здесь . Но я сильно пока не разбирался. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2014, 00:37 |
|
|
start [/forum/moderation_log.php?user_name=%D0%BA%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD+%D0%BA%D0%B0%D1%82%D0%B0%D0%BD%D0%B8]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 1140ms |
total: | 1335ms |
0 / 0 |