python - 如何在Python中播放视频(cv2)的声音

标签 python audio video cv2

我正在用python播放mp4文件,但视频声音没有出来,我搜索了一段时间以查看是否可以播放声音,但找不到任何东西。有谁知道如何播放声音?

我张贴显示视频的代码:

import cv2
import numpy as np

# Create a VideoCapture object and read from input file
# If the input is the camera, pass 0 instead of the video file name
cap = cv2.VideoCapture('video.mp4')

# Check if camera opened successfully
#if (cap.isOpened()== False): 
 # print("Error opening video stream or file")

# Read until video is completed
while(cap.isOpened()):
  # Capture frame-by-frame
  ret, frame = cap.read()
  if ret == True:

    # Display the resulting frame
    cv2.imshow('Frame',frame)

    # Press Q on keyboard to  exit
    if cv2.waitKey(25) & 0xFF == ord('q'):
      break

  # Break the loop
  else: 
    break

# When everything done, release the video capture object
cap.release()

# Closes all the frames
cv2.destroyAllWindows()

cv2不允许播放声音似乎没有用。顺便说一下,我正在使用Python 3。谢谢。

ANSWER: OpenCV is a computer-vision library. It does not support audio. If you want to play sound, you can try ffpyplayer. – Thanks to >>> yushulx

最佳答案

您可以使用Pyglet播放视频及其音频。
希望这可以帮助...

import pyglet
vid_path='vid1.mp4' # Name of the video
window=pyglet.window.Window()
player = pyglet.media.Player()
source = pyglet.media.StreamingSource()
MediaLoad = pyglet.media.load(vid_path)

player.queue(MediaLoad)
player.play()

@window.event
def on_draw():
    if player.source and player.source.video_format:
        player.get_texture().blit(50,50)


pyglet.app.run()

关于python - 如何在Python中播放视频(cv2)的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49546837/

相关文章:

javascript - 是否可以将变量存储在数组或对象中并引用它以获取变量的值而不是变量的字符串名称?

python - Python包的本地集合: best way to import them?

Qt MediaPlayer 从内存中播放音频

python - 如何以 protobuf 格式保存 Tensorflow 模型?

audio - FFmpeg:如何将多个单声道文件合并为一个多声道文件?

java - 获取到目前为止录制的视频长度(或获取准确的开始时间)

ios - 如何在iOS中从调用方的通话中获取视频窗口?

javascript - 绘制到 Canvas 上的视频帧仅部分可见并被放大

python - 进程结束,退出代码为 -1073740791 (0xC0000409) pycharm 错误

Python 多处理类方法