亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c#實現KTV點歌系統

2020-01-24 01:34:49
字體:
來源:轉載
供稿:網友

下面通過圖文并茂的方式給大家分享C#實現KTV點歌系統。

public enum SongPlayState {  //未播放,播放,重播,切歌  unplayed, played, again, cut } public class Song {  public string SongName { get; set; }//歌曲名稱  public string SongURL { get; set; }//歌曲路徑  public SongPlayState playState = SongPlayState.unplayed;//默認未播放  internal SongPlayState PlayState { get; set; }  //狀態為已播  public void SetSongPlayed()  {  this.PlayState = SongPlayState.played;  }  //重唱  public void SetPlayAgain()  {  this.playState = SongPlayState.again;  }  //切歌  public void SetSongCut()  {  this.playState = SongPlayState.cut;  }

PlayList類中實現切歌 重唱 下一首 等.....

 public class PlayList {  //定義一個長度為、 的歌曲數組,默認存儲 首歌曲  public static Song[] SongList = new Song[ ];  public static int SongIndex = ;//當前播放的歌曲在數組中的索引  //點播一首歌曲,其實是將歌曲對象添加到歌曲數組中  public static bool AddSong(Song song)  {  bool success = false;//記錄添加歌曲是否成功  for (int i = ; i < SongList.Length; i++)  {   //找到數組中第一個為null的位置   if (SongList[i] == null)   {   SongList[i] = song;   success = true;   break;   }  }  return success;  }  //獲取當前播放的歌曲::既然是獲取當前播放的歌曲,返回值肯定是Song類型  public static Song GetPlaySong()  {  if (SongList[SongIndex] != null)  {   return SongList[SongIndex];  }  else  {   return null;  }  }  /// <summary>  /// 播放下一首  /// </summary>  public static void MoveOn()  {  if (SongList[SongIndex] != null && SongList[SongIndex].PlayState == SongPlayState.again)  {   SongList[SongIndex].SetSongPlayed();  }  else  {   SongIndex++;  }  }  /// <summary>  /// 當前播放的歌曲名稱  /// </summary>  /// <returns>歌曲名稱</returns>  public static string PlayingSongName()  {  string songName = ""; // 歌曲名稱  if (SongList[SongIndex] != null)  {   songName = SongList[SongIndex].SongName;  }   return songName;  }  /// <summary>  /// 下一首要播放的歌曲名稱  /// </summary>  /// <returns>歌曲名稱</returns>  public static string NextSongName()  {  string songName = ""; // 歌曲名稱  if (SongList[SongIndex + ] != null)  {   songName = SongList[SongIndex + ].SongName;  }   return songName;  }  //重放當前歌曲  public static void PlayAgain()  {  if (SongList[SongIndex] != null)  {   SongList[SongIndex].SetPlayAgain();  }  }  //切歌  public static void CutSong(int index)  {  int i;//循環變量,代表切歌的位置  if (index == - )//循環變量,代表切割的位置  {   i = SongIndex;  }  else  {   i = index;//從切歌的位置開始,將歌曲逐個向前移一個位置  }  SongList[i].SetSongCut();  while (SongList[i] != null)  {   SongList[i] = SongList[i + ];   i++;    //如果達到數組最后一個元素,就將最后一個元素指向空   if (i == SongList.Length)   {   SongList[i] = null;   }  }  } }

實現歌手點歌

 public FrmMain frmMain;  string connectionStr = "server=.;database=MyKTV;uid=sa";  DBHelp db = new DBHelp();  private SqlConnection con;  //首先要查出數據庫中的圖片路徑和歌曲路徑  private void FrmCountry_Load(object sender, EventArgs e)  {   con = new SqlConnection(connectionStr);  con.Open();  string sql = "select resource_path from resource_path where resource_id= ";   string sqlsongpath = "select resource_path from resource_path where resource_id= ";  SqlCommand cmd = new SqlCommand(sql,con);   SqlCommand cmd = new SqlCommand(sqlsongpath, con);  KtvUnit.ImagePath = cmd.ExecuteScalar().ToString();  KtvUnit.SongPath = cmd .ExecuteScalar().ToString();  con.Close();  }  //點擊歌手男女或組合時  private void LvOne_Click(object sender, EventArgs e)  {   LoadSingerArea();  }  public string singer_type { get; set; }  private void LoadSingerArea()  {  if (this.LvOne.SelectedItems[ ] != null)  {   LvOne.Visible = false;   LvTwo.Location = LvOne.Location;   LvTwo.Dock = DockStyle.Fill;   LvTwo.Visible = true;   this.singer_type=Convert.ToString(LvOne.SelectedItems[ ].Text);  }   con = new SqlConnection(connectionStr);  string sql = "select singertype_id,singertype_name from singer_type";  SqlCommand cmd = new SqlCommand(sql, con);  SqlDataReader dr;  try  {   con.Open();   LvTwo.Items.Clear();   dr = cmd.ExecuteReader();     if (dr.HasRows)   {   int index = ;   while (dr.Read())   {    ListViewItem lvItem = new ListViewItem();    int typeid = Convert.ToInt (dr["singertype_id"]);    string typename = Convert.ToString(dr["singertype_name"]);    lvItem.Text = typename;    lvItem.Tag = typeid;    lvItem.ImageIndex = index;    LvTwo.Items.Add(lvItem);    index++;   }   }   dr.Close();  }  catch (Exception ex)  {   MessageBox.Show("系統出現異常" + ex.Message);  }  finally   {   con.Close();  }  }  public string singertype_id { get; set; }  /// <summary>  /// 點擊地區類型時  /// </summary>  /// <param name="sender"></param>  /// <param name="e"></param>  private void LvTwo_Click(object sender, EventArgs e)  {  if (this.LvTwo.SelectedItems[ ] != null)  {   LvTwo.Visible = false;   Lvthree.Location = LvTwo.Location;   Lvthree.Dock = DockStyle.Fill;   Lvthree.Visible = true;   this.singertype_id = Convert.ToString(LvTwo.SelectedItems[ ].Tag);  }  string result = singer_type;  if (result != "組合")  {   result = singer_type == "女歌手" ? "女" : "男";  }  con = new SqlConnection(connectionStr);  string sql =string.Format( "select singer_id,singer_name,singer_photo_url from singer_info where singertype_id={ } and singer_Sex='{ }'",singertype_id,result);  SqlCommand cmd = new SqlCommand(sql, con);  SqlDataReader dr;  try  {   con.Open();   int index = ;   Lvthree.Items.Clear();   imageList .Images.Clear();   dr = cmd.ExecuteReader();   if (dr.HasRows)   {    while (dr.Read())   {       string photoURL =KtvUnit.ImagePath + Convert.ToString(dr["singer_photo_url"]);    //先給ImageList填充圖片    imageList .Images.Add(Image.FromFile(photoURL));    ListViewItem lvItem = new ListViewItem();    lvItem.Text = Convert.ToString(dr["singer_name"]);    lvItem.Tag = Convert.ToString(dr["singer_id"]);    lvItem.ImageIndex = index;    Lvthree.Items.Add(lvItem);    index++;   }   }   dr.Close();  }  catch (Exception ex)  {   MessageBox.Show("系統出現異常" + ex.Message);  }  finally  {   con.Close();  }  }  public void SongList()  {  //讀取數據庫,讀出該歌手的所有歌曲   StringBuilder sb = new StringBuilder();  //拼接SQL語句  sb.AppendFormat("select song_id,song_name,song_url,singer_name from song_info,singer_info where singer_name='{ }' and song_info.singer_id={ }", Lvthree.SelectedItems[ ].Text, Convert.ToInt (Lvthree.SelectedItems[ ].Tag));  FrmSongList songList = new FrmSongList();   songList.Sql = sb.ToString();  songList.Previous = KtvClient.PrevioisForm.Singer;//指定返回的窗體是按歌手點歌  songList.ShowDialog();  this.Close();  }  private void Lvthree_Click(object sender, EventArgs e)  {  SongList();  }  private void tsSingerMain_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Show();  this.Hide();  }  private void tsSingerBack_Click(object sender, EventArgs e)  {  if (this.LvOne.Visible==true)  {   FrmMain man = new FrmMain();   man.Show();   this.Hide();  }  else if (this.LvTwo.Visible==true)  {   this.LvTwo.Visible = false;   this.LvOne.Visible = true;  }  else if (this.Lvthree.Visible==true)  {   this.Lvthree.Visible = false;   this.LvTwo.Visible = true;  }  }  private void tsSingerCut_Click(object sender, EventArgs e)  {  PlayList.CutSong(- );  }  private void tsSingerAgain_Click(object sender, EventArgs e)  {  PlayList.PlayAgain();  }  private void tsSingerYidian_Click(object sender, EventArgs e)  {  FrmPlayList frm = new FrmPlayList();  frm.Show();  }

拼音點歌

 public FrmMain frmMain;  [DllImportAttribute("user .dll")]  private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);  DBHelp db = new DBHelp();  string connectionStr = "server=.;database=MyKTV;uid=sa";  private void FrmPinYin_Load(object sender, EventArgs e)  {  AnimateWindow(this.Handle, , FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE);  SqlConnection con = new SqlConnection(connectionStr);  con.Open();  db.connection();   string sqlsongpath = "select resource_path from resource_path where resource_id= ";  SqlCommand cmd = new SqlCommand(sqlsongpath, con);  KtvUnit.SongPath = cmd.ExecuteScalar().ToString();  }  private void btnSearch_Click(object sender, EventArgs e)  {  string PinYin = this.txtPinYin.Text;  //判斷是否是中文 還是拼音  if (!Regex.IsMatch(this.txtPinYin.Text, @"^[/u e -/u fa ]+$"))  {   StringBuilder PY = new StringBuilder(PinYin);   for (int i = ; i <= PY.Length; i++)   {   PY.Insert(i, "%");   i++;   }   string sql = string.Format("SELECT song_name,singer_name FROM dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_ab LIKE '{ }'", PY);   this.dgvPinYinInfo.DataSource = db.dataTable(sql,"PY");  }  else  {   StringBuilder ZW = new StringBuilder(PinYin);   for (int i = ; i < ZW.Length; i++)   {   ZW.Insert(i,"%");   i++;   }   string sql = string.Format("SELECT song_name,singer_name FROM dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_name LIKE '{ }'", ZW);   this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY");  }  }  private void dgvPinYinInfo_DoubleClick(object sender, EventArgs e)  {  string songname = this.dgvPinYinInfo.SelectedRows[ ].Cells["song_name"].Value.ToString();  DBHelp db = new DBHelp();  db.connection();  string sql = string.Format("SELECT song_name,singer_name,song_url,song_photo_url FROM dbo.song_info,dbo.singer_info where dbo.singer_info.singer_id=dbo.song_info.singer_id and song_name='{ }'",songname);   SqlDataReader reader = db.ExecuteReaders(sql.ToString());   Song song;  if (reader.Read())  {   song = new Song();   song.SongName = reader["song_name"].ToString();   song.SongURL = KtvUnit.SongPath+reader["song_url"].ToString();   PlayList.AddSong(song);    }  reader.Close();  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "a";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "b";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "c";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "d";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "e";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "f";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "g";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "h";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "i";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "j";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "k";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "l";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "m";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "n";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "o";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "p";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "q";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "r";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "s";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "t";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "u";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "v";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "w";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "x";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "y";  }  private void pictureBox _Click(object sender, EventArgs e)  {  textBox .Text = textBox .Text + "z";  }  private void FrmPinYin_FormClosing(object sender, FormClosingEventArgs e)  {  AnimateWindow(this.Handle, , FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE);  }  public void Binder()   {  string PinYin = this.textBox .Text;  StringBuilder PY = new StringBuilder(PinYin);   for (int i = ; i <= PY.Length; i++)  {   PY.Insert(i, "%");   i++;  }  string sql = string.Format("SELECT song_name,singer_name FROM dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_ab LIKE '{ }'", PY);  DataSet ds = db.dataSet(sql, "PY");  if (ds.Tables["PY"]!=null)  {   ds.Tables["PY"].Clear();  }  this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY");  }  private void pictureBox _Click(object sender, EventArgs e)  {  string text = textBox .Text;  int index = text.Length - ;  if (index >= )  {   textBox .Text = text.Remove(index);  }  }  private void textBox _TextChanged(object sender, EventArgs e)  {  if (textBox .Text!=string.Empty)  {   Binder();   this.dgvPinYinInfo.AutoGenerateColumns = false;  }  else  {   this.dgvPinYinInfo.DataSource=null;  }  }  private void tsPYMain_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Show();  this.Hide();  }  private void txPYAgain_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Playsong();  }  Song song = new Song();  private void tsPYCut_Click(object sender, EventArgs e)  {  song.playState = SongPlayState.cut;  }  private void tsPYYidian_Click(object sender, EventArgs e)  {  FrmPlayList list = new FrmPlayList();  list.Show();  }  private void tsPYBack_Click(object sender, EventArgs e)  {  Application.Exit();  } 

類型點歌

 public FrmMain frmMain;  string connectionStr = "server=.;database=MyKTV;uid=sa";  DBHelp db = new DBHelp();  private SqlConnection con;  private void FrmSongType_Load(object sender, EventArgs e)  {  con = new SqlConnection(connectionStr);  con.Open();  string sql = "select resource_path from resource_path where resource_id= ";  string sqlsongpath = "select resource_path from resource_path where resource_id= ";  SqlCommand cmd = new SqlCommand(sqlsongpath,con);  KtvUnit.SongPath = cmd .ExecuteScalar().ToString();  SqlCommand cmd = new SqlCommand(sql, con);  KtvUnit.ImagePath = cmd.ExecuteScalar().ToString();  con.Close();   con = new SqlConnection(connectionStr);  string sql = string.Format("select songtype_id,songtype_name,songtype_URL from song_type");  SqlCommand cmd = new SqlCommand(sql , con);  SqlDataReader dr;  try  {   con.Open();   int index = ;   lvSongType.Items.Clear();   imageList .Images.Clear();   dr = cmd .ExecuteReader();   if (dr.HasRows)   {   while (dr.Read())   {    string photoURL = KtvUnit.ImagePath + Convert.ToString(dr["songtype_URL"]);    //先給ImageList填充圖片    imageList .Images.Add(Image.FromFile(photoURL));    ListViewItem lvItem = new ListViewItem();    lvItem.Text = Convert.ToString(dr["songtype_name"]);    lvItem.Tag = Convert.ToString(dr["songtype_id"]);    lvItem.ImageIndex = index;    lvSongType.Items.Add(lvItem);    index++;   }   }   dr.Close();  }  catch (Exception ex)  {   MessageBox.Show("系統出現異常" + ex.Message);  }  finally  {   con.Close();  }  }  private void LoadSongType()  {  //讀取數據庫,讀出該歌曲類型的所有歌曲   StringBuilder sb = new StringBuilder();  //拼接SQL語句  sb.AppendFormat("select song_info.song_name,singer_info.singer_name,song_info.song_url from singer_info,song_info where song_info.singer_id=singer_info.singer_id and song_info.songtype_id={ }", Convert.ToInt (lvSongType.SelectedItems[ ].Tag));  FrmSongList songList = new FrmSongList();   songList.Sql = sb.ToString();  songList.Previous = KtvClient.PrevioisForm.SongType;//指定返回的窗體是按歌曲類型點歌  songList.ShowDialog();  this.Close();  }  private void lvSongType_Click(object sender, EventArgs e)  {  LoadSongType();  }  private void tsTYSingerMain_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Show();  this.Hide();  }  private void tsTYSingerAgain_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Playsong();  }  Song song = new Song();  private void tsTYSingerCut_Click(object sender, EventArgs e)  {  song.playState = SongPlayState.cut;  }  private void tsTYSingerYidian_Click(object sender, EventArgs e)  {  FrmPlayList list = new FrmPlayList();  list.Show();  }  private void tsTYSingerBack_Click(object sender, EventArgs e)  {  FrmMain main = new FrmMain();  main.Show();  this.Hide();  }

金榜排行

public FrmMain frmMain;  DBHelp db = new DBHelp();  string connectionStr = "server=.;database=MyKTV;uid=sa";  private void FrmJB_Load(object sender, EventArgs e)  {  SqlConnection con = new SqlConnection(connectionStr);  con.Open();  db.connection();  string sql = "SELECT song_name,song_play_count FROM dbo.song_info ORDER BY song_play_count DESC";  string sqlsongpath = "select resource_path from resource_path where resource_id= ";  SqlCommand cmd = new SqlCommand(sqlsongpath, con);  KtvUnit.SongPath = cmd.ExecuteScalar().ToString();  DataSet ds = db.dataSet(sql,"Count");  this.dgvSongList.DataSource = ds.Tables["Count"].DefaultView;  }  private void dgvSongList_Click(object sender, EventArgs e)  {  DBHelp db = new DBHelp();  if (dgvSongList.SelectedRows[ ]!=null)  {   string songname = this.dgvSongList.SelectedRows[ ].Cells["SongName"].Value.ToString();   db.connection();   string sql = string.Format("SELECT song_name,singer_name,song_url,song_photo_url FROM dbo.song_info,dbo.singer_info where dbo.singer_info.singer_id=dbo.song_info.singer_id and song_name='{ }'", songname);   SqlDataReader reader = db.ExecuteReaders(sql.ToString());   Song song;   if (reader.Read())   {   song = new Song();   song.SongName = reader["song_name"].ToString();   song.SongURL = KtvUnit.SongPath + reader["song_url"].ToString();   PlayList.AddSong(song);   }   reader.Close();  }  else  {   MessageBox.Show("空");  }  } 

數字點歌

 public FrmMain frmMain;  string connectionStr = "server=.;database=MyKTV;uid=sa";  DBHelp db = new DBHelp();  private SqlConnection con;  private void FrmNumber_Load(object sender, EventArgs e)  {  con = new SqlConnection(connectionStr);  con.Open();  string sqlsongpath = "select resource_path from resource_path where resource_id= ";  SqlCommand cmd = new SqlCommand(sqlsongpath, con);  KtvUnit.SongPath = cmd.ExecuteScalar().ToString();  con.Close();  for (int i = ; i <= ; i++)  {   for (int j = ; j <= ; j++)   {   Label label = new Label();   label.ForeColor = Color.Red;   label.BackColor = Color.Pink;   label.Font=new System.Drawing.Font("華文彩云", );   label.TextAlign = ContentAlignment.MiddleCenter;   label.Click += label_Click;   this.MouseMove += FrmNumber_MouseMove;   label.MouseHover += label_MouseHover;   label.Size = new System.Drawing.Size( , );   label.Text = j.ToString();   if (i > )   {    label.Text = (j + i + ).ToString();   }   if (i > )   {    label.Text = (j + i + ).ToString();   }   if (i > )   {    label.Text = (j + i + ).ToString();   }        label.Location = new Point( + * j, + * i);   this.Controls.Add(label);   }  }  }

已點列表

 private void FrmPlayList_Load(object sender, EventArgs e)  {  SongList();  }  public void SongList()   {  lvSong.Items.Clear();  for (int i = ; i < PlayList.SongList.Length; i++)  {   if (PlayList.SongList[i]!=null)   {   ListViewItem item = new ListViewItem();   item.Text = PlayList.SongList[i].SongName;   item.Tag = i;   string playstate = PlayList.SongList[i].PlayState == SongPlayState.unplayed ? "未播放" : "已播";   item.SubItems.Add(playstate);   lvSong.Items.Add(item);   }  }  }  private void btnClose_Click(object sender, EventArgs e)  {  this.Close();  }

以上就是C#實現KTV點歌系統的全部代碼,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成av人在线视午夜片| 国产丝袜一区视频在线观看| 日韩欧美精品在线观看| 欧美激情一区二区久久久| 国产日韩精品在线| 国产精品一区二区女厕厕| 亚洲aaa激情| 久久精品视频免费播放| 国产免费一区二区三区在线观看| 91精品视频网站| 欧美激情亚洲视频| 久久91亚洲精品中文字幕| 精品久久久一区| 欧美丝袜美女中出在线| 狠狠综合久久av一区二区小说| 91久久精品国产91久久| 欧美成人免费大片| 日韩在线观看免费| 亚洲综合日韩中文字幕v在线| 久久69精品久久久久久国产越南| 国产一区二区久久精品| 亚洲国模精品一区| 久久久999精品| 久久精品视频网站| 亚洲国产精品高清久久久| 国产欧美va欧美va香蕉在| 亚洲图片制服诱惑| 午夜精品一区二区三区av| 欧美精品做受xxx性少妇| 亚洲精品久久久久久久久久久久| 色婷婷综合久久久久中文字幕1| 国内精品久久久久| 亚洲一区av在线播放| 久久人人爽亚洲精品天堂| 亚洲在线第一页| 国产视频久久久| 日韩av电影手机在线| 成人久久久久久久| 欧美一区在线直播| 亚洲无线码在线一区观看| 色七七影院综合| 日韩国产欧美区| 成人在线精品视频| 久久久久亚洲精品国产| 欧美与欧洲交xxxx免费观看| 亚洲区免费影片| 亚洲欧洲自拍偷拍| 色婷婷综合久久久久中文字幕1| 中文字幕视频在线免费欧美日韩综合在线看| 色综合91久久精品中文字幕| 深夜成人在线观看| 精品久久久香蕉免费精品视频| 亚洲美女中文字幕| 色综合久久精品亚洲国产| 精品国偷自产在线视频99| 国产精品久久婷婷六月丁香| 欧美大片在线看| 日韩免费不卡av| 欧美大片网站在线观看| 日韩在线视频导航| 欧美中文在线观看| 久久九九有精品国产23| 精品成人久久av| 国产精品成人观看视频国产奇米| 深夜福利一区二区| 中文字幕在线看视频国产欧美| 日韩av电影中文字幕| 亚洲xxxx做受欧美| 亚洲全黄一级网站| 欧美一区二粉嫩精品国产一线天| 国产成人精品在线| 精品国产一区二区三区四区在线观看| 97国产在线视频| 国产精品视频久| 日本亚洲欧美三级| 国产成人亚洲综合91| 亚洲精品视频在线观看视频| 久久亚洲精品网站| 久久久999国产精品| 亚洲成色777777在线观看影院| 亚洲午夜精品久久久久久性色| 久久在线免费视频| 少妇高潮久久久久久潘金莲| 亚洲专区国产精品| 欧美成人激情图片网| 亚洲国产精品福利| 国产一区在线播放| 欧美成人在线网站| 日本高清+成人网在线观看| 亚洲女人天堂色在线7777| 国产精品国产三级国产专播精品人| 欧美韩国理论所午夜片917电影| 国产精品91视频| 亚洲成在人线av| 国产精品pans私拍| 18久久久久久| 欧美精品久久久久久久免费观看| 日韩精品免费一线在线观看| 91国内精品久久| 亚洲天堂免费视频| 国产亚洲欧美日韩精品| 成人欧美一区二区三区黑人| 色无极影院亚洲| 亚洲免费av网址| 91精品久久久久久久久久久久久| 午夜精品久久久久久99热| 91福利视频在线观看| 精品国产一区二区三区久久| 欧美日韩国产在线看| 91精品国产91久久久久久久久| 欧美日韩亚洲91| 亚洲激情视频网站| 国产极品jizzhd欧美| 国产精品一二三视频| 精品欧美一区二区三区| 亚洲欧美色婷婷| 国产精品激情av在线播放| 成人女保姆的销魂服务| 欧美自拍大量在线观看| 久久精品电影网| 92国产精品久久久久首页| 91精品国产乱码久久久久久久久| 国产欧美韩国高清| 亚洲精品美女免费| 国产精品日韩电影| 日韩av在线导航| 91午夜在线播放| 日韩国产一区三区| 亚洲女人被黑人巨大进入| 久久久精品免费视频| 欧美黄色免费网站| 亚洲欧美成人一区二区在线电影| 亚洲高清色综合| 亚洲999一在线观看www| 久久韩剧网电视剧| 国产精品视频公开费视频| 亚洲激情在线视频| 国产精品久久久999| 久久乐国产精品| 国产乱人伦真实精品视频| 777777777亚洲妇女| 91在线精品播放| 日韩精品在线免费观看视频| 精品成人久久av| 亚洲精品中文字幕女同| 久久国产精品首页| 亚洲一区二区三区777| 亚洲无限av看| 欧美日韩福利在线观看| 精品国内产的精品视频在线观看| 亚洲精品福利视频| 成人av资源在线播放| 国产成人啪精品视频免费网| 国产极品精品在线观看| 国产视频亚洲视频| 久青草国产97香蕉在线视频| 欧美性猛交xxxx久久久| 日韩成人在线视频观看| 日韩中文字幕免费视频| 亚洲成人av中文字幕| 国产精品亚洲欧美导航| 久久精品99久久久香蕉| www.久久久久久.com| 欧美超级乱淫片喷水|