快速改变视频内容

时间:2015-11-04 13:06:27

标签: ios swift video uiscrollview

我有一个带有UIImage的UIScrollView,我想用MPMoviePlayerController放两个视频(我知道它已被弃用)但是如果我使用两个以上的视频,那么第二个停止播放,因为Apple DOC说这是不可能的同时启动多个视频。所以我想保留相同的媒体播放器,但内容不同。 但我无法取代内容。

var moviePlayer : MPMoviePlayerController?

   func firstVideo(path:String){

  var audioplayer : MPMoviePlayerController!
        var path = NSBundle.mainBundle().pathForResource("airplane", ofType:"m4v")      
        let url = NSURL.fileURLWithPath(path)        
        self.moviePlayer = MPMoviePlayerController(contentURL: url)
        let player = self.moviePlayer

        if let player = self.moviePlayer {

            player.view.frame = CGRect(x: 0, y: 0, width: 200, height: 200)

            player.view.sizeToFit()
            player.scalingMode = MPMovieScalingMode.Fill
            player.movieSourceType = MPMovieSourceType.File
            player.repeatMode = MPMovieRepeatMode.One

          self.view.addSubview(player.view)

        }
    }

  func scrollViewDidScroll(scrollView: UIScrollView){


        var pageheight = self.scrollView.frame.size.width
        var page = floor((self.scrollView.contentOffset.x - pageheight / 2) / pageheight) + 1;

        self.pageControl.currentPage = Int(page);


        if (page == 1.0){



            if let player = moviePlayer{

                player.play()

            }

            }



        else if (page == 2.0){
            if let player = moviePlayer{

                player.stop()

            }
        }

        if (page == 3.0){
            if let player = moviePlayer{

 var path = NSBundle.mainBundle().pathForResource("another_video", ofType:"m4v")
                firstVideo(path!)

                player.play()           
            }
        }


        else{
            if let player = moviePlayer{

               player.stop()

                // playerTwo.view.removeFromSuperview()
            }

        }
    }

1 个答案:

答案 0 :(得分:0)

为什么不使用<xsl:template match="page/p/text()"> <xsl:variable name="p" select=".." /> <xsl:analyze-string select="." regex="\s(beat)\s" flags="i"> <xsl:matching-substring> <xsl:choose> <xsl:when test="$p/preceding-sibling::p[matches(text(), '\sbeat\s')]"> <xsl:value-of select="."/> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> <term keyref="beat"> <xsl:value-of select="regex-group(1)"/> </term> <xsl:text> </xsl:text> </xsl:otherwise> </xsl:choose> </xsl:matching-substring> <xsl:non-matching-substring> <xsl:value-of select="."/> </xsl:non-matching-substring> </xsl:analyze-string> </xsl:template> 代替UITableView?因此,您只能在每个单元格中使用一个具有多个内容的UIScrollView对象。

此外,您获得了下一个MPMoviePlayerController对象的新捆绑网址,并将其发送给您的播放器功能,但您创建了名为&#39;路径&#39;再次在此函数中,永远不要使用发送的MPMoviePlayerController对象。所以你的视频路径总是一样的。试试这个;

path