使用Objective-C中的libmms

cod*_*boy 2 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
Run Code Online (Sandbox Code Playgroud)

我不确定从哪里开始,但我想我需要使用mms.h中的这个方法:

mms_t* mms_connect (mms_io_t *io, void *data, const char *url, int bandwidth);
Run Code Online (Sandbox Code Playgroud)

但是,我不太熟悉C语言来解开libmms代码.有人可以提供任何建议吗?我很乐意支付一些学费,但我想自己明白这一点.

我应该使用哪些框架来读取上述方法中的mms_t响应类型?

谢谢,

Til*_*ütz 5

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

  1. 您连接mms_connect并接收连接实例.
  2. 您使用打开的连接从流中读取mms_read.
  3. 您使用关闭连接mms_close.

对于高级功能,您可以使用其他mms_*功能.IO(mms_io_t)可以null.在这种情况下,默认实现将用于I/O.

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

更新:

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