質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

解決済

サイトにあったplayerの事について

削除済ユーザー
削除済ユーザー

総合スコア0

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

1回答

0評価

0クリップ

5閲覧

投稿2018/04/21 11:27

編集2022/01/12 10:58

こんばんは。
サイトにあったplayerを追加しました。
##参考にあったサイト名:ZPlay VB.NET Class interface
http://libzplay.sourceforge.net/ZPLAYINTERFACE_VBNET.html
こちらのPlayerを追加したんですか、ちょっとお出すねしたい事があります。
##教えてほしい事
リストボックスを選択すると再生したい

Imports MI_LIBZPLAY_AUDIO.libZPlay Public Class Form1 Private player As ZPlay Private LoadMode As Integer Private ReverseMode As Boolean Private Echo As Boolean Private VocalCut As Boolean = False Private SideCut As Boolean = False Private NextSong As Boolean = False Private FadeFinished As Boolean = False ' need this for managed stream Private fStream As System.IO.FileStream = Nothing Private br As System.IO.BinaryReader = Nothing Private BufferCounter As Integer Private CallbackFunc As TCallbackFunc Private BlockSlideLeft As Boolean = False Private BlockSlideRight As Boolean = False ''' <summary> ''' Text callback ''' </summary> ''' <param name="text"></param> ''' <remarks></remarks> ''' Public Delegate Sub SetTextCallback(ByVal text As String) 'addfileopenfiledialog複数開けます。 Dim a As String() Dim file As String() Private Sub Button18_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click LoadMode = 3 OpenFileDialog1.FileName = "" OpenFileDialog1.Multiselect = True OpenFileDialog1.Title = "開くファイルを指定" OpenFileDialog1.Filter = "All Supported Files|*.mp3;*.mp2;*.mp1;*.ogg;*.oga;*.flac;*.wav;*.ac3;*.aac|Mp3 Files|*.mp3|Mp2 Files|*.mp2|Mp1 Files|*.mp1|Ogg Files|*.ogg|FLAC files|*.flac|Wav files|*.wav|AC-3|*.ac3|AAC|*.aac" OpenFileDialog1.FilterIndex = 1 OpenFileDialog1.RestoreDirectory = True If OpenFileDialog1.ShowDialog() = DialogResult.OK Then file = OpenFileDialog1.SafeFileNames a = OpenFileDialog1.FileNames For b As Integer = 0 To file.Length - 1 ListBox1.Items.Add(file(b)) Next ListBox1.SelectedIndex = 0 TextBox1.Text = System.IO.Path.GetFileName(ListBox1.SelectedItem) End If End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk OpenFileDialog1.Multiselect = True If LoadMode = 0 Then player.Close() If Not (player.OpenFile(OpenFileDialog1.FileName, TStreamFormat.sfAutodetect)) Then MessageBox.Show(player.GetError(), String.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If ElseIf LoadMode = 1 Then player.Close() Dim format As TStreamFormat = player.GetFileFormat(OpenFileDialog1.FileName) Dim fInfo As New System.IO.FileInfo(OpenFileDialog1.FileName) Dim numBytes As Long = fInfo.Length Dim fStream As New System.IO.FileStream(OpenFileDialog1.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read) Dim br As New System.IO.BinaryReader(fStream) Dim stream_data() As Byte = Nothing stream_data = br.ReadBytes(CInt(Fix(numBytes))) If Not (player.OpenStream(True, False, stream_data, CUInt(numBytes), format)) Then MessageBox.Show(player.GetError(), String.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error) End If br.Close() fStream.Close() ElseIf LoadMode = 2 Then player.Close() Dim format As TStreamFormat = player.GetFileFormat(OpenFileDialog1.FileName) BufferCounter = 0 Dim fInfo As New System.IO.FileInfo(OpenFileDialog1.FileName) Dim numBytes As UInteger = CUInt(fInfo.Length) If br IsNot Nothing Then br.Close() End If If fStream IsNot Nothing Then fStream.Close() End If br = Nothing fStream = Nothing fStream = New System.IO.FileStream(OpenFileDialog1.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read) br = New System.IO.BinaryReader(fStream) Dim stream_data() As Byte = Nothing Dim small_chunk As UInteger = 0 small_chunk = CType(Math.Min(100000, numBytes), UInteger) ' read small chunk of data stream_data = br.ReadBytes(CInt(Fix(small_chunk))) ' open stream If Not (player.OpenStream(True, True, stream_data, CUInt(stream_data.Length), format)) Then MessageBox.Show(player.GetError(), String.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error) End If ' read more data and push into stream stream_data = br.ReadBytes(CInt(Fix(small_chunk))) player.PushDataToStream(stream_data, CUInt(stream_data.Length)) 'リストボックスとテキストボックス追加しました。 'リストボックスとテキストボックスに表示されます。(ボタン18) ElseIf LoadMode = 3 Then If Not (player.AddFile(OpenFileDialog1.FileName, TStreamFormat.sfAutodetect)) Then MessageBox.Show(player.GetError(), String.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If showinfo() player.StartPlayback() End Sub '曲を選択、リスト選択可能※ Dim IntSelectIndexPre As Integer = 0 Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged If ListBox1.SelectedItem <> "" Then TextBox1.Text = System.IO.Path.GetFileName(ListBox1.SelectedItem) End If If IntSelectIndexPre = ListBox1.SelectedIndex Then Exit Sub End If IntSelectIndexPre = ListBox1.SelectedIndex Timer1.Start() Timer2.Start() End Sub End Class

##追加したコードの動作結果
開いたらリストボックスとテキストボックスに表示されました。
開いたファイルを選択すると曲を再生したいですが※の部分に

Dim IntSelectIndexPre As Integer = 0 Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged If ListBox1.SelectedItem <> "" Then TextBox1.Text = System.IO.Path.GetFileName(ListBox1.SelectedItem) End If If IntSelectIndexPre = ListBox1.SelectedIndex Then Exit Sub End If IntSelectIndexPre = ListBox1.SelectedIndex '※ Timer1.Start() Timer2.Start() player.StartPlayback()

##試した結果
※の部分
player.AddFile(a(ListBox1.SelectedIndex), TStreamFormat.sfAutodetect)

いろいろ試してやった所全くリストボックスを選択はされるんですが、選択後の
再生がしないので無理なんでしょうか?
お願いします。
##開発バージョン
Vistual Studio2017 VB
サイトのプロジェクト使用しています。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。