如何使用Python打开一个MP4文件?

6

我试图编写一个脚本,使用默认的Windows应用程序播放电影,但当我尝试运行时,出现错误:强制转换为Unicode:需要字符串或缓冲区,找到函数。

我该如何继续进行?

import os

print 'Push "enter" to play movie'
raw_input()

def filename():
   filename = movie.mp4
   os.system("start " + filename)

open(filename)

所以,我不知道Windows,但如果你有Linux或虚拟机,你可以利用ffmpeg,http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs。 - cjohnson318
1个回答

9
您遇到的问题可能是您有一个名为 movie 的变量,当您执行 filename = movie.mp4 时,它会将 movie 的函数 mp4 分配给变量 filename。无论如何,我认为没有必要这样做。
def play_movie(path):
    from os import startfile
    startfile(path)

这就是你“播放”功能所需的全部内容。如果我是你,我会将它封装在一个类中,例如:

class Video(object):
    def __init__(self,path):
        self.path = path

    def play(self):
        from os import startfile
        startfile(self.path)

class Movie_MP4(Video):
    type = "MP4"

movie = Movie_MP4(r"C:\My Documents\My Videos\Heres_a_file.mp4")
if raw_input("Press enter to play, anything else to exit") == '':
    movie.play()

1
如何检测视频播放结束? - shamila
2
@user2993886,没错!os.startfile在非Windows操作系统上不可用(参见文档)。 - Adam Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接