3

我目前正在尝试将 GStreamer 集成到 iOS 项目中。

我已经下载了 gstreamer-1.0-devel-1.2.1-ios-universal.pkg 并将 GStreamer.framework 添加到项目中。我在http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+4%3A+A+basic+media+player上关注了 iOS 教程,之前的教程效果很好,但是在创建基本媒体时播放器,我总是在启动管道时遇到问题,下面是我使用的代码

-(void) app_function{
GstBus *bus;
GSource *timeout_source;
GSource *bus_source;
GError *error = NULL;

GST_DEBUG ("Creating pipeline");

/* Create our own GLib Main Context and make it the default one */
context = g_main_context_new ();
g_main_context_push_thread_default(context);

/* Build pipeline */
pipeline = gst_parse_launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", &error);
if (error) {
    gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message);
    g_clear_error (&error);
    [self setUIMessage:message];
    g_free (message);
    return;
}
....
}

我得到了错误:无法构建管道:没有元素“playbin2”

我同样下载了 Mac 的 GStreamer,使用相同的方法 (gst_parse_launch()),我可以启动内部视频播放器来播放视频。

我想也许插件(playbin2)没有很好地安装或配置,我到处搜索希望找到解决方案,但我没有找到......任何帮助将不胜感激。

提前致谢

4

2 回答 2

6

在 1.0 中,playbin2 更名为 playbin

于 2013-12-09T10:19:34.140 回答
2

我将 gst_ios_init.h 添加到 main.m 文件中。

#import "gst_ios_init.h"

int main(int argc, char *argv[])
{
gst_ios_init();

gst_ios_init.h 和 gst_ios_init.m 都位于 gstreamer 教程中。您应该先将文件添加到项目中,方法是文件->将文件添加到“项目名称”。

于 2014-09-06T06:51:09.880 回答