Использование libmms из Objective-C - PullRequest
2 голосов
/ 20 февраля 2010

Я хочу использовать libmms в проекте target-c. Я взял проект отсюда - http://www.tunein -radio.com / lgpl.html - и включил библиотеку libmms в свой собственный проект. Это избавляет меня от необходимости компилировать libmms самостоятельно. Сначала я просто хочу посмотреть, работает ли он, и, надеюсь, вывести немного звука.

Вот что у меня есть в заголовочном файле:

#import <UIKit/UIKit.h>
#import "mmsio.h"
#import "mms.h"



#define streamURL @"path/to/stream"

@interface radiotestAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
 struct mms_t_io *io;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;


@end

Я не совсем уверен, куда идти дальше, но думаю, что мне нужно использовать этот метод из mms.h:

mms_t* mms_connect (mms_io_t *io, void *data, const char *url, int bandwidth);

Однако я недостаточно хорошо разбираюсь в C, чтобы разгадать код libmms. Кто-нибудь может дать совет? Я был бы счастлив заплатить за какое-то обучение, но хочу сам это понять.

Какие рамки мне следует использовать для чтения типа ответа mms_t из вышеприведенного метода?

Спасибо

1 Ответ

5 голосов
/ 22 февраля 2010

Я никогда не использовал libmms, но при просмотре исходного кода интерфейс кажется очень простым:

  1. Вы подключаетесь с помощью mms_connect и получаете экземпляр подключения.
  2. Вы читаете из потока, используя открытое соединение, используя mms_read.
  3. Вы закрываете соединение, используя mms_close.

Для расширенной функциональности у вас есть другие функции mms_*. IO (mms_io_t) может быть null. В этом случае для ввода-вывода будет использоваться реализация по умолчанию.

Кстати, интересно, как бы вы программировали на Objective-C, не обладая достаточными знаниями для понимания кода на C (код libmms кажется простым и понятным).

Обновление:

Я не вижу, где libmms выполняет декодирование видео. Есть несколько способов поиска и получения информации заголовка / пакета. У меня нет никаких знаний о декодировании видео - поэтому я не могу сказать, нужно ли вам декодировать потоковые данные перед их воспроизведением или iPhone может обрабатывать их напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...