2010-10-07 3 views
0

У меня есть приложение для воспроизведения mp3, написанное на C#, которое я хотел бы передать в OSX.Могу ли я использовать OSX AUGraph от мономака?

Поскольку он использует DirectShow для воспроизведения mp3, я понимаю, что мне нужно будет перекодировать часть воспроизведения звука. Я нашел образец игрового файла Apple, который использует AUGraph.

Раздел Binding Cocoa http://www.mono-project.com/MonoMac упоминает «гораздо более простой интерфейс AudioToolBox».

Может ли кто-нибудь указать мне на образец кода для использования AudioToolBox с C# или, желательно, с помощью AUGraph с C#.

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

ответ

-1

AUGraph является частью Core Audio. Он используется для сборки графика аудиоустройств и может использоваться для воспроизведения звука. Core Audio - это низкоуровневая инфраструктура с API C.
Возможно, вы можете использовать QTKit (оболочку для какао в QuickTime) из Mono.

По-моему, это всегда лучший подход к работе с технологией «родной» платформы. (Что было бы Objective-C и Cocoa для Mac OS X). Apple, имеет хороший пример, показывающий, как создать медиа-плеер с помощью QTKit: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40008155-CH1-SW1

+0

MonoMac * есть * Cocoa. Это ничем не отличается от использования, например. MacRuby. –

0

На странице вы связаны ли сказать, что AudioToolbox (т.е. CoreAudio) полностью связан. Я не знаю каких-либо образцов, но не должно быть сложно переносить код C.

В качестве альтернативы вы можете перейти в список рассылки mono-osx и запросить привязку QTKit или даже сделать это обязательным для себя. Я слышал, что генератор связывания MonoMac упрощает привязку API Objective-C.

Это будет намного быстрее и проще в использовании существующего кода C# и знаний, даже если вам нужно сделать некоторые привязки самостоятельно.

1

Вот некоторые примеры использования AudioUnit, используя тот же API, что MonoMac имеет, за исключением того, что эти образцы целевого показателя в iPhone с помощью MonoTouch:

https://github.com/migueldeicaza/MonoTouch.AudioUnit

Установка AudioUnit вверх немного громоздким, если все, что вы хотите заключается в воспроизведении файлов MP3 без выполнения низкоуровневой обработки или применения эффектов, вместо этого вы можете использовать API MonoMac.AppKit.NSSound.