Форум программистов, компьютерный форум, киберфорум
Программирование звука
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 3
Регистрация: 01.01.2018
Сообщений: 169

Запуск саундтрека из потока (bass.dll)

15.05.2022, 12:51. Показов 4028. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Нужно реализовать запуск саундтрека из памяти.

Для теста в память загружается саунд.

C++
1
2
3
4
5
6
7
8
9
10
11
12
   BASS_Init (-1, 44100, BASS_DEVICE_3D , 0, NULL)
   TFileStream *fl = new TFileStream("1.mp3", fmOpenRead);
   TMemoryStream *fn = new TMemoryStream;
   AnsiString data= NULL;
   data.SetLength(fl->Size);
   fl->Position = 0;
   fn->Position = 0;
   fl->Read(data.c_str(), fl->Size);
   fn->Write(data.c_str(), fl->Size);
   fl->Free();
   HSTREAM sound = BASS_StreamCreateFile(FALSE, fn->Memory, 0,fn->Size, BASS_UNICODE);
   BASS_ChannelPlay(sound, false);
Но поток не срабатывает, может кто подскажет, в чем может быть причина?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2022, 12:51
Ответы с готовыми решениями:

Ошибка после создания нового .lib из .dll (библиотека bass.dll)
Скачал библиотеку bass.dll (.dll, .h, .lib) и при подключении либы через pragma comment компилятор ругался, что файл повреждён. Создал .def...

Куда закинуть bass.dll,bass.h,bass.lib
Ребят, пересмотрел темы на форуме, гуглил, толком ничего не нашел. Собственно такая проблема, вот я скачал архив bass.zip, в нем находится...

Запуск программы невозможен, так как на ПК отсутствует BASS.DLL
Ставил новое железо, и решил поставить win7 64. До этого писал на 32 битке, если это имеет значение. Поставил среду, все компоненты...

35
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
16.05.2022, 15:23
Студворк — интернет-сервис помощи студентам
Чё там редактировать???

Добавлено через 1 минуту
Vegas есть...
Больше ни чего хорошего не написано.

Добавлено через 48 секунд
FFMPEG есть...
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
16.05.2022, 15:24
Цитата Сообщение от Наталья8 Посмотреть сообщение
Такой?
Нет. Все редакторы одинаковые должны быть?
Я не помню, например, есть ли в audacity секвенсор.
0
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
16.05.2022, 15:27
сек - чегго??
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
16.05.2022, 15:31
По назначению ближе к такому (Скрин Cakewalk Sonar)


Цитата Сообщение от Наталья8 Посмотреть сообщение
сек - чегго??
Секвенсор
0
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
16.05.2022, 15:32
Спасибо почитал... Может польза?

https://www.cyberforum.ru/atta... 1652704278
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
16.05.2022, 15:33
Возвращаемся к вопросу.
Цитата Сообщение от Croessmah Посмотреть сообщение
Как это у вас так получается?
То есть, всё что вы не понимаете, пытались, но бросили - говно?
0
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
16.05.2022, 15:34
Круто конечно. Для профессионалов наверное. Мне просто не надо.
Я не музыкален.
0
0 / 0 / 3
Регистрация: 01.01.2018
Сообщений: 169
16.05.2022, 19:13  [ТС]
Решил эту задачу, если кому надо, вот решение:
C++
1
2
3
4
5
6
7
8
9
10
   BASS_Init (-1, 44100, BASS_DEVICE_3D , 0, NULL);
   TFileStream *fl = new TFileStream("test.mp3", fmOpenRead);
   TMemoryStream *fn = new TMemoryStream;
   int *arc=(int *)malloc(fl->Size);
   fl->ReadBuffer(arc, fl->Size);
   fn->WriteBuffer(arc, fl->Size);
   fl->Free();
   HSTREAM samp = BASS_StreamCreateFile(TRUE, fn->Memory, NULL, fn->Size, BASS_UNICODE);
   BASS_ChannelPlay(samp, false);
   fn->Free();
Добавлено через 1 минуту
Надо было offset выставить NULL а он всегда ссылался на 0, как я понимаю. Но тем не менее, после этого все заработало.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
16.05.2022, 19:23
Цитата Сообщение от Blocked Посмотреть сообщение
BASS_StreamCreateFile(FALSE, fn->Memory
Цитата Сообщение от Blocked Посмотреть сообщение
HSTREAM samp = BASS_StreamCreateFile(TRUE, fn->Memory
И всё-таки поменяли FALSE на TRUE.
1
0 / 0 / 3
Регистрация: 01.01.2018
Сообщений: 169
16.05.2022, 19:32  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
И всё-таки поменяли FALSE на TRUE.
После этого один фиг не работало, но действительно, эта подсказка была тоже своего рода решением. Без этого продвижения бы не было.

Добавлено через 43 секунды
NULL в третьем параметре необходим

Добавлено через 1 минуту
Может у меня, какая-то корявая реализация библиотеки, потому что в примера других пользователей только на делфи, этот параметр 0.

Добавлено через 46 секунд
А тут 0 не работает.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
16.05.2022, 19:41
Цитата Сообщение от Blocked Посмотреть сообщение
А тут 0 не работает.
Думаю, вы что-то не так делали или собирали, не иначе.
Во-первых, NULL - это, фактически, define для нуля.
Во-вторых, документация говорит, что offset используется только если mem равен FALSE.
0
0 / 0 / 3
Регистрация: 01.01.2018
Сообщений: 169
16.05.2022, 19:51  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Думаю, вы что-то не так делали или собирали, не иначе.
Во-первых, NULL - это, фактически, define для нуля.
Во-вторых, документация говорит, что offset используется только если mem равен FALSE.
Абсолютно все идентично, мне нет смысла обманывать, заработало только после NULL, обратно вернул на 0, звука - нет.

Добавлено через 1 минуту
Не отрицаю, что это какой то бред, и это немыслимо.

Добавлено через 5 минут
Студия бывает странно проекты собирает, использует директивы компилятора, которые я не назначал. Думаю, ее надо просто заменить на чистую сборку, без всякого мусора.
0
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
17.05.2022, 13:12
Как это у вас так получается?
То есть, всё что вы не понимаете, пытались, но бросили - говно?
//---------
Секвенсор?
А кому он нужен? Ни кто знать не знает, что это такое.
Попробуйте продать.
https://www.cyberforum.ru/atta... 1652782347
Вложения
Тип файла: mp4 merge_file.mp4 (1.97 Мб, 8 просмотров)
0
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
17.05.2022, 13:15
https://www.cyberforum.ru/atta... 1652782525
Вложения
Тип файла: mp4 final_file.mp4 (1.13 Мб, 8 просмотров)
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
17.05.2022, 13:16
Цитата Сообщение от Наталья8 Посмотреть сообщение
А кому он нужен? Ни кто знать не знает, что это такое.
Не поверите, многим.
Опять же, если вам не надо, то никому не надо?
Если вы не умеете, то всё говно?
Здравая позиция.

По поводу "продать" - я не зря выше привел название одного из приложений.
1
 Аватар для Наталья8
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,154
17.05.2022, 13:51
This is not shit...

Добавлено через 18 минут
Ваши свободные приложения. =========
Я однажды озаботился сдвигом звуковой дорожки, относительно видео.
Кроме вегаса ни на чём...
Movavi требует вводить с клавиатуры непонятные вещественные числа.
Я перебрал несколько редакторов, результат нулевой.
Вегас громоздок, и кнопочек надо много нажимать.
В разных окнах.

Добавлено через 14 минут
Слава богу, мне больше не надо ни чего сдвигать.
И вегасом я не пользуюсь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2022, 13:51
Помогаю со студенческими работами здесь

Где взять bass.dll bass.lib for win64
Приветствую. Тут много тем было на эти вопросы , но ответа не нашел. Где можно и вообще есть ли bass.dll,bass.lib для Windows 8.1 64...

[Linker Error] 'E:\Programming\C++\BASS.DLL\BASS.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
Народ, подскажите пожалуйста, из-за чего ошибку билдер выбивает?? 'E:\Programming\C++\BASS.DLL\BASS.LIB' contains invalid OMF record,...

BASS: Воспроизвести звук из потока
делаю как сказано в документации: TResourceStream *mus_buff = new TResourceStream(0, L"bg_music", RT_RCDATA); ...

bass.dll Кодировка потока
Здравствуйте форумчане, есть вопрос по сабжу: Проблема с выводом название трека: - латиница грузится хорошо При ...

Перемотка потока bass.dll
Дорого времени суток. Подскажите как перемотать трек который грузится из интернета? тоесть нужно проверить загрузился ли трек до n-й...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru