media_list_player.c
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*
  2.  * media_list_player.c - libvlc smoke test
  3.  *
  4.  * $Id: 49a144355128338f9b77e1340fca0a0df1178795 $
  5.  */
  6. /**********************************************************************
  7.  *  Copyright (C) 2007 Rémi Denis-Courmont.                           *
  8.  *  This program is free software; you can redistribute and/or modify *
  9.  *  it under the terms of the GNU General Public License as published *
  10.  *  by the Free Software Foundation; version 2 of the license, or (at *
  11.  *  your option) any later version.                                   *
  12.  *                                                                    *
  13.  *  This program is distributed in the hope that it will be useful,   *
  14.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of    *
  15.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.              *
  16.  *  See the GNU General Public License for more details.              *
  17.  *                                                                    *
  18.  *  You should have received a copy of the GNU General Public License *
  19.  *  along with this program; if not, you can get it from:             *
  20.  *  http://www.gnu.org/copyleft/gpl.html                              *
  21.  **********************************************************************/
  22. #include "test.h"
  23. static void test_media_list_player_pause_stop(const char** argv, int argc)
  24. {
  25.     libvlc_instance_t *vlc;
  26.     libvlc_media_t *md;
  27.     libvlc_media_list_t *ml;
  28.     libvlc_media_list_player_t *mlp;
  29.     const char * file = test_default_sample;
  30.     log ("Testing play and pause of %s using the media list.n", file);
  31.     libvlc_exception_init (&ex);
  32.     vlc = libvlc_new (argc, argv, &ex);
  33.     catch ();
  34.     md = libvlc_media_new (vlc, file, &ex);
  35.     catch ();
  36.     ml = libvlc_media_list_new (vlc, &ex);
  37.     catch ();
  38.     mlp = libvlc_media_list_player_new (vlc, &ex);
  39.     libvlc_media_list_add_media( ml, md, &ex );
  40.     catch ();
  41.     libvlc_media_list_player_set_media_list( mlp, ml, &ex );
  42.     libvlc_media_list_player_play_item( mlp, md, &ex );
  43.     catch ();
  44.     libvlc_media_list_player_pause (mlp, &ex);
  45.     catch();
  46.     libvlc_media_list_player_stop (mlp, &ex);
  47.     catch ();
  48.     libvlc_media_release (md);
  49.     libvlc_media_list_player_release (mlp);
  50.     catch ();
  51.     libvlc_release (vlc);
  52.     catch ();
  53. }
  54. static void test_media_list_player_play_item_at_index(const char** argv, int argc)
  55. {
  56.     libvlc_instance_t *vlc;
  57.     libvlc_media_t *md;
  58.     libvlc_media_list_t *ml;
  59.     libvlc_media_list_player_t *mlp;
  60.     const char * file = test_default_sample;
  61.     log ("Testing play and pause of %s using the media list.n", file);
  62.     libvlc_exception_init (&ex);
  63.     vlc = libvlc_new (argc, argv, &ex);
  64.     catch ();
  65.     md = libvlc_media_new (vlc, file, &ex);
  66.     catch ();
  67.     ml = libvlc_media_list_new (vlc, &ex);
  68.     catch ();
  69.     mlp = libvlc_media_list_player_new (vlc, &ex);
  70.     for (unsigned i = 0; i < 5; i++)
  71.     {
  72.         libvlc_media_list_add_media( ml, md, &ex );
  73.         catch ();
  74.     }
  75.     libvlc_media_list_player_set_media_list( mlp, ml, &ex );
  76.     libvlc_media_list_player_play_item_at_index( mlp, 0, &ex );
  77.     catch ();
  78.     libvlc_media_list_player_stop (mlp, &ex);
  79.     catch ();
  80.     libvlc_media_release (md);
  81.     catch ();
  82.     libvlc_media_list_player_release (mlp);
  83.     catch ();
  84.     libvlc_release (vlc);
  85.     catch ();
  86. }
  87. int main (void)
  88. {
  89.     test_init();
  90.     test_media_list_player_pause_stop (test_defaults_args, test_defaults_nargs);
  91.     test_media_list_player_play_item_at_index (test_defaults_args, test_defaults_nargs);
  92.     return 0;
  93. }