我正在开展一个学校项目,在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) 我希望DASH MPD文件可以在不同的DASH支持的客户端上播放和测试.我已经使用VLC dash插件进行了测试.有没有其他播放器/插件支持和播放DASH MPD文件?
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 开发新手,从一个简单的音板应用程序开始。我开始使用多个片段开发音板,直到我意识到我使用了多个 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
我使用 Firemonkey 来部署一个带有音频文件的 android 应用程序。我有大约 30 个动物按钮,当用户选择它时,每个按钮都会听到动物的声音。这是我的第一个按钮的代码:
procedure TFMain.buttonLionClick(Sender: TObject);
begin
MediaPlayer1.FileName := 'D:\lion.mp3';
MediaPlayer1.Play;
end;
Run Code Online (Sandbox Code Playgroud)
但它失败了。如何将声音部署到我的应用程序中?
问候 ,
我想用 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)
如何在一行ffplay中设置上表(音频和视频)?
或者,我如何在一行 ffplay 中只设置音频部分?
非常感谢
我在 winforms 中使用vlc 播放器。它工作正常,但问题是它的播放速度更快。
我有以 10fps 录制的视频。我认为 vlcControl 以 30fps 播放,这就是视频播放速度更快的原因。参考了this,但没有帮助。我set_play_back_speed在 vlcControl1.Video 下找不到任何类似函数的函数
我认为 vlcControl 会自动计算出 fps 并相应地播放。
如果我从安装在我的 Windows 电脑上的 vlc 媒体播放器打开相同的视频,它会以正确的速度播放。任何线索如何解决这个问题?
PS:如果我打开任何以 29.97fps 录制的视频,winforms 中的 vlcControl 会以适当的速度播放。
我一直在尝试使用播放和停止按钮播放和停止 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) 我正在尝试为 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) 上周 Chrome 发布了媒体中心。这是浏览器顶部栏右侧的一个小按钮,可以访问所有视频和音频播放。
https://blog.google/products/chrome/manage-audio-and-video-in-chrome/
使用该<video>元素使您的播放器出现在此媒体中心中,它可以正常工作。
但是对于 youtube 视频(见上文),媒体中心似乎能够找到封面图片、颜色和标题/副标题。但是,我找不到有关如何使用标准视频元素获取此方面的任何文档。任何的想法?