Note that there are some explanatory texts on larger screens.

plurals
  1. POprogress bar and playlist in media player
    primarykey
    data
    text
    <p>How can I create a progress bar and a playlist for a media player? I'm making my own media player in C#.</p> <p>Here is the code to play a file</p> <pre><code>using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using QuartzTypeLib; using System.Runtime.InteropServices; namespace trying { public partial class Form1 : Form { [DllImport("winmm.dll")] public static extern int waveOutGetVolume(IntPtr hwo, out uint dwVolume); [DllImport("winmm.dll")] public static extern int waveOutSetVolume(IntPtr hwo, uint dwVolume); public Form1() { InitializeComponent(); } // Define constants used for specifying the window style. private const int WS_CHILD = 0x40000000; private const int WS_CLIPCHILDREN = 0x2000000; // Hold a form-level reference to the media control interface, // so the code can control playback of the currently loaded // movie. public IMediaControl mc =null; public IMediaPosition m=null; // Hold a form-level reference to the video window in case it // needs to be resized. public IVideoWindow videoWindow = null; public int a; private void button1_Click(object sender, EventArgs e) { if (mc != null) { mc.Run(); } } private void button2_Click(object sender, EventArgs e) { mc.Stop(); } private void button3_Click(object sender, EventArgs e) { mc.Pause(); } private void trackBar1_Scroll(object sender, EventArgs e) { //Calculate the volume that's being set int NewVolume = ((ushort.MaxValue / 10) * trackBar1.Value); // Set the same volume for both the left and the right channels uint NewVolumeAllChannels = (((uint)NewVolume &amp; 0x0000ffff) | ((uint)NewVolume &lt;&lt; 16)); // Set the volume waveOutSetVolume(IntPtr.Zero, NewVolumeAllChannels); } private void newFileToolStripMenuItem_Click(object sender, EventArgs e) { // Allow the user to choose a file. OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|" + "All Files|*.*"; if (DialogResult.OK == openFileDialog.ShowDialog()) { // Stop the playback for the current movie, if it exists. if (mc != null) mc.Stop(); // Load the movie file. FilgraphManager graphManager = new FilgraphManager(); graphManager.RenderFile(openFileDialog.FileName); // Attach the view to a picture box on the form. try { videoWindow = (IVideoWindow)graphManager; videoWindow.Owner = (int)pictureBox1.Handle; videoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN; videoWindow.SetWindowPosition( pictureBox1.ClientRectangle.Left, pictureBox1.ClientRectangle.Top, pictureBox1.ClientRectangle.Width, pictureBox1.ClientRectangle.Height); } catch { // An error can occur if the file does not have a video // source (for example, an MP3 file). // You can ignore this error and still allow playback to // continue (without any visualization). } // Start the playback (asynchronously). mc = (IMediaControl)graphManager; mc.Run(); } } </code></pre> <p>I want this to work</p> <pre><code>this.progressBar2.Value =(int) m.CurrentPosition; </code></pre> <p>but it doesn't work.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload