VB6.0桌面小程序(桌面音乐播放器)

news2024/11/23 18:26:32

干货源码

Imports System.IO
Imports System.Security.Cryptography

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Button1.Text = “上一曲”
Button4.Text = “播放”
Button3.Text = “下一曲”
Button2.Text = “顺序播放”
Button7.Text = “打开文件”
Button6.Text = “打开目录”
Button9.Text = “本地视频”
Button8.Text = “网络视频”
Button5.Text = “搜索歌曲”
Label1.Text = “00:00”
Label2.Text = “00:00”
Label3.Text = “歌词显示”
Label4.Text = “未播放”
Label5.Text = “正在播放:”
Label6.Text = “20%”
End Sub
Dim files(), paths()
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
OpenFileDialog1.Filter = “选择音频|.mp3;.flac;.wav;.mp4”
OpenFileDialog1.Multiselect = True
If OpenFileDialog1.ShowDialog = DialogResult.OK Then

        localSelectPathList.Clear()
        ListBox1.Items.Clear()
        If files Is Nothing Then
        Else
            Array.Clear(files)
        End If

        If paths Is Nothing Then
        Else
            Array.Clear(paths)
        End If


        files = OpenFileDialog1.FileNames
        paths = OpenFileDialog1.FileNames
        For Each file In files
            ListBox1.Items.Add(file)
        Next file
    End If

End Sub
Dim localSelectPath As String
Dim localSelectPathList As New List(Of String)
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then

        localSelectPath = FolderBrowserDialog1.SelectedPath
        For Each path In Directory.GetFiles(localSelectPath)
            localSelectPathList.Add(path)
            ListBox1.Items.Add(path)
        Next path
    End If
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    If localSelectPathList.Count > 0 Then
        AxWindowsMediaPlayer1.URL = localSelectPathList.Item(ListBox1.SelectedIndex)
        AxWindowsMediaPlayer1.Ctlcontrols.play()
    Else
        AxWindowsMediaPlayer1.URL = paths.GetValue(ListBox1.SelectedIndex)
        AxWindowsMediaPlayer1.Ctlcontrols.play()
    End If
    Button4.Text = "暂停"

End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    If Button4.Text Is "暂停" Then
        Button4.Text = "播放"
        AxWindowsMediaPlayer1.Ctlcontrols.pause()
    Else
        Button4.Text = "暂停"
        AxWindowsMediaPlayer1.Ctlcontrols.play()

    End If

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If ListBox1.Items Is Nothing Then
        Return
    End If
    If ListBox1.SelectedIndex = 0 Then
        ListBox1.SelectedIndex = ListBox1.Items.Count - 1
    Else
        ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
    End If
End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    If ListBox1.Items Is Nothing Then
        Return
    End If
    If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
        ListBox1.SelectedIndex = 0
    Else
        ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
    End If
End Sub

End Class

图形界面设计

在这里插入图片描述

运行后效果截图

在这里插入图片描述

功能总结

项目已经实现程序相关功能,本项目中播放器通过导入微软自带控件实现。判断写法略麻烦,不如C#,java等面向对象语言语法清晰简洁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker安装jdk8

1、拉取镜像 docker pull openjdk:82、运行镜像 docker run -d --restartalways --network portainer_network -it --name jdk8 openjdk:8命令 作用 docker run 创建并启动一个容器 –name jdk8 将容器取名为jdk8 -d 设置后台运行 –restartalways 随容器启动 –network port…

【人工智能】Transformers之Pipeline(二十三):文档视觉问答(document-question-answering)

​​​​​​​ 目录 一、引言 二、文档问答(document-question-answering) 2.1 概述 2.2 impira/layoutlm-document-qa 2.2.1 LayoutLM v1 2.2.2 LayoutLM v2 2.2.3 LayoutXLM 2.2.4 LayoutLM v3 2.3 pipeline参数 2.3.1 pipeline对象实例化…

微服务day06

MQ入门 同步处理业务: 异步处理: 将任务处理后交给MQ来进行分发处理。 MQ的相关知识 同步调用 同步调用的小结 异步调用 MQ技术选型 RabbitMQ 安装部署 其中包含几个概念: publisher:生产者,也就是发送消息的一方 …

[CKS] K8S RuntimeClass SetUp

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于RuntimeClass创建和挂载的题目。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS…

Halcon基于laws纹理特征的SVM分类

与基于区域特征的 SVM 分类不同,针对图像特征的 SVM 分类的算子不需要直接提取 特征,下面介绍基于 Laws 纹理特征的 SVM 分类。 纹理在计算机视觉领域的图像分割、模式识别等方面都有着重要的意义和广泛的应 用。纹理是指由于物体表面的物理属性不同所…

初始Python篇(6)—— 字符串

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: Python 目录 字符串的常见操作 格式化字符串 占位符 f-string 字符串的 format 方法 字符串的编码与解码 与数据验证相关的方法 …

基于Spring Boot+Vue的养老院管理系统【原创】

一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端: 技术:框架Vue.js;UI库:ElementUI; 开发工具&…

Maven 中央仓库地址 mvnrepository.com

下载一些 jar 包驱动,不需用去官网下了,直接去 Maven 中央仓库,高效、简单 Maven 中央仓库地址 https://mvnrepository.com/open-source 我们下期见,拜拜!

2024 年将 Postman 文档导出为 HTML 或 Markdown

2024 年将 Postman 文档导出为 HTML 或 Markdown

Anaconda安装库

相信有些人可能遇到pip直接安装失败,conda直接安装失败,pip镜像安装仍然失败的可能性,下面我记录一下我的一种解决方法。 我使用的是上面的miniconda3配置。 1.创建虚拟环境 首先,先新建一个虚拟环境 conda create -n py39 pyt…

linux命令详解,openssl+历史命令详解

openssl openssl是一个开源的加密工具包,提供了各种加密、解密、签名、验证等功能 openssl passwd -1 123password表示这个命令用于处理密码相关的操作,-1参数指定使用MD5加密算法对密码“123”进行加密处理。MD5是一种常用的哈希算法,它将…

Flink运行时架构以及核心概念

1.运行构架 1.提交作业后启动一个客户端进程,客户端解析参数(-d -t 等等),后进行封装由Actor通信系统提交,取消,更新任务给JobManager。 2.JobManager(进程)通信系统一个组件叫分发…

解决C盘空间不足的三种方案

方案一:网上盛传的C盘磁盘碎片整理🧩(原理:将分散的文件片段整理到相邻的磁盘区域,减少文件的碎片化程度)(效果不明显) 方案二:把其他盘的空间给C盘 💽(效果显著&#xf…

echarts-gl 3D柱状图配置

1. 源码 此demo可以直接在echarts的编辑器中运行 option {title: {text: 产量图,textStyle: {color: rgba(255, 255, 255, 1),fontSize: 17},left: center},tooltip: {},legend: {show: false,orient: vertical,x: left,top: 0,right: 20,textStyle: {fontSize: 12}},visualM…

C++笔记---智能指针

1. 什么是智能指针 1.1 RALL设计思想 RAII(Resource Acquisition Is Initialization,资源获取即初始化)是一种资源管理类的设计思想,广泛应用于C等支持对象导向编程的语言中。它的核心思想是将资源的管理与对象的生命周期紧密绑定…

「QT」几何数据类 之 QVector4D 四维向量类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

docker desktop运行rabittmq容器,控制台无法访问

docker desktop运行rabittmq容器,控制台无法访问 启动过程:…此处缺略,网上一大堆 原因 原因是在Docker上运行的RabbitMQ,默认情况下是没有启用管理插件和管理页面的 解决办法 使用命令 docker exec -it 容器id /bin/bash 进…

MySQL-事务(详细版)

目录 事务的含义 举一个例子 事务的特征(面试高频) 原子性 一致性 隔离性 持久性 事务结束 查看事务提交方式 查看事务提交的变量值:on 自动提交 off 不是自动提交 实例 事务回滚 验证事务回滚 事务实现:是数据库提…

Python “文件和IO操作” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业

本文主要是作为Python中“文件和IO操作”的一些题目,方便学习完Python的函数之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、填空题。 在做题之前可以先学习或者温习一下Python的异常处理机制,推荐阅读下面这篇…

【Docker】自定义网络:实现容器之间通过域名相互通讯

文章目录 一. 默认网络:docker0网络的问题二. 自定义网络三. nginx容器指之间通过主机名进行内部通讯四. redis集群容器(跳过宿主机)内部网络通讯1. 集群描述2. 基于bitnami镜像的环境变量快速构建redis集群 一. 默认网络:docker0…