Посоветуйте, как можно реализовать такую штуку. Есть интернет-радио с разными потоками, нужно как-нибудь писать его в небольшой файл так, чтобы другой плеер мог его играть столько времени, сколько идёт запись в этот файл. В общем, как видеорегистраторы, только чтобы файл не создавался заново, а обрезался вначале и новые данные добавлялись в конец, а плеер бы не мог определить его длительность, чтобы не останавливал воспроизведение.
>>173104 Какая цель у этой процедуры? Самое банальное, что можно предложить — named pipe, если конечно плеер нормально отнесется к "файлу" в котором нельзя делать seek(). Но в этом случае не будет сохранения предыдущего. Пять секунд гугла дают ссылку на https://github.com/wavexx/fIcy, возможно оно подойдет для этой задачи, либо придется немного модифицировать его. Если же задача состоит именно в том, чтобы все происходило в одном файле, то без написания извращенного FUSE-драйвера, который будет знать о аудио-содержимом, обойтись вряд ли удастся.
>>173104 Какая цель у этой процедуры? Самое банальное, что можно предложить — named pipe, если конечно плеер нормально отнесется к "файлу" в котором нельзя делать seek(). Но в этом случае не будет сохранения предыдущего. Пять секунд гугла дают ссылку на https://github.com/wavexx/fIcy, возможно оно подойдет для этой задачи, либо придется немного модифицировать его.
Если же задача состоит именно в том, чтобы все происходило в одном файле, то без написания извращенного FUSE-драйвера, который будет знать о аудио-содержимом, обойтись вряд ли удастся.
>>173105 >Какая цель у этой процедуры? Трансляция потока в игру, которая этот поток умеет «слышать», подстраиваться под него и искажать во время игры. В настройках игры есть возможность указать каталог с музыкой и выбрать нужный трек из этого каталога.
>>173105
>Какая цель у этой процедуры?
Трансляция потока в игру, которая этот поток умеет «слышать», подстраиваться под него и искажать во время игры. В настройках игры есть возможность указать каталог с музыкой и выбрать нужный трек из этого каталога.
>>173109 Без знания того как конкретно игра работает с этими файлами вряд ли можно сказать что-то конкретное, но я бы начал с того, что натравил ее на файл, который пишется через curl со стрима в реальном времени и посмотрел бы на реакцию. Если оно начнет играть и при этом будет играть заметно дольше, чем было записано на момент начала воспроизведения, то это уже очень хорошо, так как позволит сказать, что декодер в игре не поперхнется стримом и будет играть до конца файла, а не остановится раньше времени по его первоначальным представлениям о файле. Если декодер в игре именно такой, то дальше можно будет либо продолжить использовать curl, либо написать небольшой модуль для dokany, который оформит это все в красивый файл. Если же декодер противный и делает всякие пакости класса произвольного доступа в файле или отдачи приоритета своим начальным представления, то все значительно усложняется.
- wahaba + wakaba 3.0.9 + futaba + futallaby -