标签: media-player

如何使用wxpython线程来防止阻塞主循环

我正在开展一个学校项目,在python平台上开发一个定制的媒体播放器.问题是当我使用time.sleep(duration)时,它会阻止我的GUI的主循环,阻止它更新.我咨询了我的主管,并被告知要使用多线程,但我不知道如何使用线程.有人会建议我如何在下面的场景中实现线程吗?


码:

def load_playlist(self, event):
    playlist = ["D:\Videos\test1.mp4", "D:\Videos\test2.avi"]
    for path in playlist:
        #calculate each media file duration
        ffmpeg_command = ['C:\\MPlayer-rtm-svn-31170\\ffmpeg.exe', '-i' , path]

        pipe = subprocess.Popen(ffmpeg_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        results = pipe.communicate()

        #Regular expression to get the duration
        length_regexp = 'Duration: (\d{2}):(\d{2}):(\d{2})\.\d+,'
        re_length = re.compile(length_regexp)

        # find the matches using the regexp that to compare with the buffer/string
        matches = re_length.search(str(results))
        #print matches

        hour = matches.group(1)
        minute = matches.group(2)
        second = matches.group(3)

        #Converting to second
        hour_to_second = int(hour) * …
Run Code Online (Sandbox Code Playgroud)

media multithreading wxpython blocking media-player

2
推荐指数
1
解决办法
6127
查看次数

支持MPEG-DASH的媒体播放器

我希望DASH MPD文件可以在不同的DASH支持的客户端上播放和测试.我已经使用VLC dash插件进行了测试.有没有其他播放器/插件支持和播放DASH MPD文件?

media-player mpeg2-ts mpeg-dash

2
推荐指数
1
解决办法
1万
查看次数

Android MediaPlayer 在一段时间后停止播放

onclick ImageButton 后有小游戏播放短声音。但是在触摸 10 次 MediaPlayer 后,短时间内停止播放声音。一段时间后它再次播放声音。当我查看 LogCat 控制台时,它显示错误:E/MediaPlayer(19584): error (1, -2147483648)

请你能告诉我找到解决这个问题的解决方案的方法吗?为什么 MediaPlayer 给我错误?

我使用这部分代码来播放声音:

public void playAudio () {
    try {
        mediaPlayer = MediaPlayer.create(getBaseContext(), R.raw.trefa);
    mediaPlayer.setLooping(false);
    mediaPlayer.start();
    mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
            public void onCompletion(MediaPlayer arg0) {

            }
    });
    } catch (Exception e) {
    Log.e("beep", "error: " + e.getMessage(), e);
    }
    }
Run Code Online (Sandbox Code Playgroud)

android playback media-player

2
推荐指数
1
解决办法
3166
查看次数

如何使用 MediaPlayer Singleton

我是 Android 开发新手,从一个简单的音板应用程序开始。我开始使用多个片段开发音板,直到我意识到我使用了多个 MediaPlayer 实例。这不好,因为我只想一次播放一种声音。

我意识到我必须使用 MediaPlayer Singleton 来解决我的问题。唯一的问题是我在网上找不到很多 MediaPlayer Singleton 的来源或示例。

这是我最初放入每个片段中的每个“onCreateView”中的内容:

public static class FragmentPage1 extends Fragment {

    int selectedSoundId;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_page1, container, false);


        final MediaPlayer player = new MediaPlayer();
        final Resources res = getResources();

        final int[] buttonIds = { R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9 };
        final int[] soundIds = { R.raw.sound01, R.raw.sound02, R.raw.sound03, R.raw.sound04, R.raw.sound05, R.raw.sound06, R.raw.sound07, R.raw.sound08, R.raw.sound09 };

        View.OnClickListener …
Run Code Online (Sandbox Code Playgroud)

java android media-player android-fragments android-mediaplayer

2
推荐指数
1
解决办法
1417
查看次数

在 firemonkey 中播放声音

我使用 Firemonkey 来部署一个带有音频文件的 android 应用程序。我有大约 30 个动物按钮,当用户选择它时,每个按钮都会听到动物的声音。这是我的第一个按钮的代码:

procedure TFMain.buttonLionClick(Sender: TObject);
begin
  MediaPlayer1.FileName := 'D:\lion.mp3';
  MediaPlayer1.Play;
end;
Run Code Online (Sandbox Code Playgroud)

但它失败了。如何将声音部署到我的应用程序中?

delphi android media-player firemonkey

2
推荐指数
1
解决办法
5084
查看次数

带有音频和视频过滤器的 ffplay / ffmpeg 设置表

问候 ,

我想用 ffplay 创建一个表,显示音频和视频监控,来自这样的信号:

ffplay

不幸的是,我只能做视频部分:

ffplay  -i bar.mxf -vf "split=4[a][b][c][d],[d]vectorscope=m=color3:g=color[dd],[a]waveform=m=1:d=0:r=0:c=7[aa],\[b]waveform=m=0:d=0:r=0:c=7[bb],[c][aa]vstack[V],[bb][dd]vstack[V2],[V][V2]hstack"
Run Code Online (Sandbox Code Playgroud)

我不能把音频过滤器和视频过滤器放在一起,实际上我什至不能做音频部分,我有独立的音频过滤器,但我不能把它放在一起。

节目量

ffplay -f lavfi "amovie=input.mka, asplit [a][out1]; [a] showvolume=f=255:b=4:w=720:h=68 [out0]"
Run Code Online (Sandbox Code Playgroud)

EBUR128 响度

ffplay -f lavfi -i "amovie=55.mp4,ebur128=video=1:meter=18 [out0][out1]"
Run Code Online (Sandbox Code Playgroud)

视镜

 ffplay -f lavfi "amovie=input.mp3, asplit [a][out1]; 
    [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]"
Run Code Online (Sandbox Code Playgroud)
  1. 如何在一行ffplay中设置上表(音频和视频)?

  2. 或者,我如何在一行 ffplay 中只设置音频部分?

非常感谢

audio video waveform ffmpeg media-player

2
推荐指数
1
解决办法
2774
查看次数

在 vlc dot net (winforms) 中设置播放速度

我在 winforms 中使用vlc 播放器。它工作正常,但问题是它的播放速度更快。
我有以 10fps 录制的视频。我认为 vlcControl 以 30fps 播放,这就是视频播放速度更快的原因。参考了this,但没有帮助。我set_play_back_speed在 vlcControl1.Video 下找不到任何类似函数的函数
我认为 vlcControl 会自动计算出 fps 并相应地播放。
如果我从安装在我的 Windows 电脑上的 vlc 媒体播放器打开相同的视频,它会以正确的速度播放。任何线索如何解决这个问题?

PS:如果我打开任何以 29.97fps 录制的视频,winforms 中的 vlcControl 会以适当的速度播放。

c# video media-player winforms libvlc

2
推荐指数
1
解决办法
2601
查看次数

E/MediaPlayer:使用 MediaPlayer 时在状态 64、mPlayer(0xaf149260) 中调用 start

我一直在尝试使用播放和停止按钮播放和停止 mp3 文件,但它不断发出此错误:

E/MediaPlayer:在状态 64 中调用开始,mPlayer(0xaf149260)
E/MediaPlayer:错误 (-38, 0)
E/MediaPlayer:错误 (-38,0)

这是我到目前为止的代码:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        final MediaPlayer mainSongMP = MediaPlayer.create(this, R.raw.main_copy);

        Button playButton = (Button) this.findViewById(R.id.playButton);
        Button stopButton = (Button) this.findViewById(R.id.stopButton);

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                mainSongMP.start();
            }
        });

        stopButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mainSongMP.stop();
            }
        });

    }
}
Run Code Online (Sandbox Code Playgroud)

android playback media-player android-mediaplayer

2
推荐指数
1
解决办法
2043
查看次数

如何在 UWP 应用中从单独的 URL 播放视频和音频?

我正在尝试为 UWP 桌面应用程序创建视频播放器。我无法播放来自不同 URL 的视频和音频。我在下面给出了我的代码,但我没有给出音频和视频的 URL。我正在Xampp为我的案例使用本地服务器。请帮我。

我的MainPage.xaml.cs

namespace my_video_player
{
    public sealed partial class MainPage : Page
    {
        MediaPlayer video_player;
        MediaSource mediaSource_video;
        MediaSource mediaSource_audio;

        public MainPage()
        {
            this.InitializeComponent();
            video_player = new MediaPlayer();

            Uri video_uri = new Uri("THE-URL-OF-THE-VIDEO");
            Uri audio_uri = new Uri("THE-URL-OF-THE-AUDIO");
            mediaSource_video = MediaSource.CreateFromUri(video_uri);
            mediaSource_audio = MediaSource.CreateFromUri(audio_uri);
            video_player.Source = mediaSource_video;
            video_player.Source = mediaSource_audio;
            video_player_screen.SetMediaPlayer(video_player);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的MainPage.xaml

<Page
    x:Class="my_video_player.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:my_video_player"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid HorizontalAlignment="Center" VerticalAlignment="Top" Height="710" Width="1260" …
Run Code Online (Sandbox Code Playgroud)

c# media-player uwp uwp-xaml

2
推荐指数
1
解决办法
1482
查看次数

Chrome 媒体中心 API

上周 Chrome 发布了媒体中心。这是浏览器顶部栏右侧的一个小按钮,可以访问所有视频和音频播放。

https://blog.google/products/chrome/manage-audio-and-video-in-chrome/

媒体中心

使用该<video>元素使您的播放器出现在此媒体中心中,它可以正常工作。

但是对于 youtube 视频(见上文),媒体中心似乎能够找到封面图片、颜色和标题/副标题。但是,我找不到有关如何使用标准视频元素获取此方面的任何文档。任何的想法?

html google-chrome media-player html5-video

2
推荐指数
1
解决办法
236
查看次数