Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a34caf066 | |||
| 28854a6a38 | |||
| cefbbeb41d | |||
| f14089b153 | |||
| 348b1d6411 | |||
| ee7e62890f | |||
| b02ac26bd5 |
@@ -16,4 +16,7 @@
|
|||||||
*.mod
|
*.mod
|
||||||
*.smod
|
*.smod
|
||||||
|
|
||||||
|
build
|
||||||
|
lib/linux-x86_64
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ static void init_ao()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void *ao_create_async(int bits, int rate, int channels, int byte_format)
|
void *ao_create_async(int bits, int rate, int channels, int byte_format, const char *wav_file_output)
|
||||||
{
|
{
|
||||||
init_ao();
|
init_ao();
|
||||||
|
|
||||||
@@ -364,7 +364,14 @@ void *ao_create_async(int bits, int rate, int channels, int byte_format)
|
|||||||
fmt.channels = channels;
|
fmt.channels = channels;
|
||||||
fmt.matrix = NULL;
|
fmt.matrix = NULL;
|
||||||
|
|
||||||
ao_device *dev = ao_open_live(ao_default_driver_id(), &fmt, NULL);
|
ao_device *dev;
|
||||||
|
if (wav_file_output != NULL) {
|
||||||
|
int driver_id = ao_driver_id("wav");
|
||||||
|
dev = ao_open_file(driver_id, wav_file_output, 1, &fmt, NULL);
|
||||||
|
} else {
|
||||||
|
dev = ao_open_live(ao_default_driver_id(), &fmt, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
if (dev == NULL) {
|
if (dev == NULL) {
|
||||||
fprintf(stderr, "Cannot open ao-device, error code = %d\n", errno);
|
fprintf(stderr, "Cannot open ao-device, error code = %d\n", errno);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ typedef struct {
|
|||||||
} BufferInfo_t;
|
} BufferInfo_t;
|
||||||
|
|
||||||
AOPLAYASYNC_EXPORT int ao_async_version(void);
|
AOPLAYASYNC_EXPORT int ao_async_version(void);
|
||||||
AOPLAYASYNC_EXPORT void *ao_create_async(int bits, int rate, int channels, int byte_format);
|
AOPLAYASYNC_EXPORT void *ao_create_async(int bits, int rate, int channels, int byte_format, const char *wav_file_output);
|
||||||
AOPLAYASYNC_EXPORT void ao_stop_async(void *handle);
|
AOPLAYASYNC_EXPORT void ao_stop_async(void *handle);
|
||||||
AOPLAYASYNC_EXPORT void ao_play_async(void *handle, int music_id, double at_second, double music_duration, int buf_size, void *mem, BufferInfo_t info);
|
AOPLAYASYNC_EXPORT void ao_play_async(void *handle, int music_id, double at_second, double music_duration, int buf_size, void *mem, BufferInfo_t info);
|
||||||
AOPLAYASYNC_EXPORT void ao_clear_async(void *handle);
|
AOPLAYASYNC_EXPORT void ao_clear_async(void *handle);
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user