再生したい *.wav ファイルのパスを含む文字列を返す関数を使用しています。
これは、ユーザーが何かをクリックしたときに再生するサウンドを決定するために使用される関数です...
Function GetSoundPath() As String
Dim theme As String, appPath As String, soundPath As String
theme = GetUserTheme()
appPath = LCase(Application.StartupPath & "\themes\" & theme & "\sounds\click.wav")
Return soundPath
End Function
上記の関数は、再生に必要な *.wav ファイルへの正しいパスを取得します。問題は、「My.Computer.Audio.Play(GetSoundPath)」で関数を使用すると、次のエラーが発生することです。
フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラーは次のとおりです。フォームは、デフォルトのインスタンスからの構築中にそれ自体を参照しました。これにより、無限の再帰が発生しました。フォームのコンストラクター内で、「Me」を使用してフォームを参照します。
application.vb ファイルを確認しましたが、「wisealarm」という名前のフォームへの参照が見つかりませんでした。フォームは、当然のことながら「Me」と呼ばれていました。さらに奇妙なことは、コマンドにパスを手動で入力すると、問題なく動作することです.. ex My.Computer.Audio.Play("c:\users\sound.wav")
どんな洞察も大歓迎です。さらにコードや詳細が必要な場合はお知らせください。ありがとう。