使用Objective-C中的libmms

时间:2010-02-20 09:59:55

标签: c objective-c

我想在objective-c项目中使用libmms。我从这里开始了这个项目 - 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 个答案:

答案 0 :(得分:5)

我从未使用过libmms,但在查看源代码时,界面看起来非常简单:

  1. 您与mms_connect连接并收到连接实例。
  2. 您使用mms_read打开的连接从流中读取。
  3. 您使用mms_close关闭连接。
  4. 对于高级功能,您可以使用其他mms_*个功能。 IO(mms_io_t)可以是null。在这种情况下,默认实现将用于I / O.

    BTW我想知道你如何在没有足够理解C代码的情况下在Objective-C中编程(libmms代码看起来很简单易懂)。

    <强>更新

    我无法看到libmms在哪里进行任何视频解码。有一些方法可以搜索和获取标头/数据包信息。我对视频解码没有任何了解 - 所以我不能说你是否必须在播放之前解码流数据,或者iPhone是否可以直接处理它。