Ios 电影未加载

Ios 电影未加载,ios,c4,Ios,C4,我一直在尝试将电影剪辑添加到项目中,但它就是不起作用。我已确保*.mov文件存在于文件目录中 但是如果我尝试在movieNamed:@“blahblah.mov”中添加《盗梦空间》片段,它的效果会非常好 不确定问题是否出在代码中,或者我尝试使用的电影剪辑无效(文件不是太大或其他) 你能解释这个问题吗 这是密码 #import "C4WorkSpace.h" C4Movie *movie; @implementation C4WorkSpace -(void)setup { movi

我一直在尝试将电影剪辑添加到项目中,但它就是不起作用。我已确保*.mov文件存在于文件目录中

但是如果我尝试在movieNamed:@“blahblah.mov”中添加《盗梦空间》片段,它的效果会非常好

不确定问题是否出在代码中,或者我尝试使用的电影剪辑无效(文件不是太大或其他)

你能解释这个问题吗

这是密码

#import "C4WorkSpace.h"

C4Movie *movie;

@implementation C4WorkSpace

-(void)setup {
    movie = [C4Movie movieNamed:@"thinkdifferent.mov"];
    movie.width = self.canvas.width;
    CGPoint centerOfScreen = CGPointMake(self.canvas.width/2, self.canvas.height/2);
    movie.center = centerOfScreen;
    [self.canvas addMovie:movie];
}

@end
以下是带有错误的代码环境的图像:


图片的直接链接:

我查看了你发给我的链接,发现有几种不同的方式可能会让你出问题

首先,我必须从那个链接下载电影。。。但是,当我在Safari中这样做时,它有一个问题,如下所示:

  • Safari将链接下载为mov文件
  • 文件是433kb。。。相当小
  • 这让我相信Safari下载的实际上是一个.mov容器
  • 试图使用Safari开发者扩展挖掘站点代码
  • 只能从Safari下载.mov容器
  • 我下载的实际上是一个容器,而不是真正的源电影,这在C4中从未起作用,因为它始终只是对电影的引用,而不是对象本身

    所以,我用Chrome的开发工具尝试了一下,并且能够将文件保存为源代码

  • 在Chrome中,文件以75.6MB的速度保存为mp4
  • 尝试将文件直接加载到C4项目中,结果成功了
  • 以下代码适用于我:

    #import "C4WorkSpace.h"
    
    @implementation C4WorkSpace {
        C4Movie *m;
    }
    
    -(void)touchesBegan {
        if(m == nil) {
            m = [C4Movie movieNamed:@"iPhone.mp4"];
            m.shouldAutoplay = YES;
           [self.canvas addMovie:m];
         }
    }
    
    @end 
    
    我推迟了电影的开始,因为它是一个大文件。实际上,您不希望有一堆这么大的文件直接放在您的项目中,但是测试它是有效的。我开始在
    touchesbeated
    中创建电影,这样应用程序在打开时就不会在加载电影时陷入困境


    好的,这可能不会真正解决你的问题。因此,我测试了使用以下步骤从大电影源文件创建一个小剪辑:

  • 在Quicktime中打开电影
  • 将电影剪辑为12秒的剪辑(点击cmd+t开始剪辑作业)
  • 导出修剪过的电影(cmd+shift+s或文件>导出)
  • 选择iPad、iPhone4、苹果电视选项
  • 导出m4v
  • 将其拖动到“我的原始项目”中,重命名变量以匹配新文件
  • 它起作用了

    所以,我怀疑这个答案的第一部分可能是你挂断电话的地方。该文件实际上不是电影文件,而是指向其他媒体的指针。我之所以想到这一点,是因为我记得,当我导出Quicktime mov for web时,它实际上会创建一个包含.mov文件的介质文件夹,该文件引用另一个文件夹中的其他介质

    我查看了您发送给我的链接,发现有几种不同的方式可能会让您出问题

    首先,我必须从那个链接下载电影。。。但是,当我在Safari中这样做时,它有一个问题,如下所示:

  • Safari将链接下载为mov文件
  • 文件是433kb。。。相当小
  • 这让我相信Safari下载的实际上是一个.mov容器
  • 试图使用Safari开发者扩展挖掘站点代码
  • 只能从Safari下载.mov容器
  • 我下载的实际上是一个容器,而不是真正的源电影,这在C4中从未起作用,因为它始终只是对电影的引用,而不是对象本身

    所以,我用Chrome的开发工具尝试了一下,并且能够将文件保存为源代码

  • 在Chrome中,文件以75.6MB的速度保存为mp4
  • 尝试将文件直接加载到C4项目中,结果成功了
  • 以下代码适用于我:

    #import "C4WorkSpace.h"
    
    @implementation C4WorkSpace {
        C4Movie *m;
    }
    
    -(void)touchesBegan {
        if(m == nil) {
            m = [C4Movie movieNamed:@"iPhone.mp4"];
            m.shouldAutoplay = YES;
           [self.canvas addMovie:m];
         }
    }
    
    @end 
    
    我推迟了电影的开始,因为它是一个大文件。实际上,您不希望有一堆这么大的文件直接放在您的项目中,但是测试它是有效的。我开始在
    touchesbeated
    中创建电影,这样应用程序在打开时就不会在加载电影时陷入困境


    好的,这可能不会真正解决你的问题。因此,我测试了使用以下步骤从大电影源文件创建一个小剪辑:

  • 在Quicktime中打开电影
  • 将电影剪辑为12秒的剪辑(点击cmd+t开始剪辑作业)
  • 导出修剪过的电影(cmd+shift+s或文件>导出)
  • 选择iPad、iPhone4、苹果电视选项
  • 导出m4v
  • 将其拖动到“我的原始项目”中,重命名变量以匹配新文件
  • 它起作用了

    所以,我怀疑这个答案的第一部分可能是你挂断电话的地方。该文件实际上不是电影文件,而是指向其他媒体的指针。我之所以想到这一点,是因为我记得,当我导出Quicktime mov for web时,它实际上会创建一个包含.mov文件的介质文件夹,该文件引用另一个文件夹中的其他介质

    请添加完整的错误消息。可能是编解码器问题。你能发布一个视频链接吗?编解码器信息:这里的剪辑:谢谢@C4-Travis请添加完整的错误消息。可能是编解码器问题。你能发布一个视频链接吗?编解码器信息:这里的剪辑:谢谢@C4-特拉维斯