質問編集履歴

5

回答を読んで試したこと

2020/12/09 02:21

投稿

tomtakeru
tomtakeru

スコア4

test CHANGED
File without changes
test CHANGED
@@ -163,3 +163,83 @@
163
163
  FFmpeg 4.3.1
164
164
 
165
165
  Pydub 0.24.1
166
+
167
+
168
+
169
+ # (追記)回答してくださった方のアドバイスを聞いて試したこと
170
+
171
+
172
+
173
+ ## 確認事項
174
+
175
+ 1. tkinterなしで問題は再現しますか
176
+
177
+ 2. pyinstallerを使わない場合に問題が再現するのか
178
+
179
+ 3. converterのファイルパスの確認
180
+
181
+
182
+
183
+ ### 1・2の確認事項
184
+
185
+ - tkinterなしpyinstallerなし→正常
186
+
187
+ - tkinterありpyinstallerなし→正常
188
+
189
+ - tkinterなしpyinstallerあり→正常?
190
+
191
+ - tkinterありpyinstallerあり→今回のエラー
192
+
193
+
194
+
195
+
196
+
197
+ このようになったのですが、tkinterなしpyinstallerありでの確認に関しては、実際の状況と全く同じ状況を作れませんでした。このエラーが出る前に[単一実行ファイルを作る際のエラー](https://ja.stackoverflow.com/questions/71522/pyinstaller%e3%81%a7-noconsole%e3%82%aa%e3%83%97%e3%82%b7%e3%83%a7%e3%83%b3%e6%8c%87%e5%ae%9a%e6%99%82%e3%81%ab%e4%bd%9c%e6%88%90%e3%81%95%e3%82%8c%e3%82%8b-app%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%8c%e8%b5%b7%e5%8b%95%e3%81%97%e3%81%aa%e3%81%84/71560#71560]¥)が出ていました。その解決に用いた方法がtkinterなしだとエラーが出ます。
198
+
199
+
200
+
201
+ そのため次のコマンドのように実行した結果、正常に動きました。
202
+
203
+
204
+
205
+ ### tkinterなしpyinstallerありでのpyinstallerのコマンドとその実行
206
+
207
+ ```console
208
+
209
+ pyinstaller --windowed audio_play_test.py
210
+
211
+ open dist/audio_play_test/audio/audio_play_test
212
+
213
+ ```
214
+
215
+
216
+
217
+ ### audio_play_test.py
218
+
219
+ ```python
220
+
221
+ import sounddevice
222
+
223
+ import pydub
224
+
225
+ import time
226
+
227
+ import numpy
228
+
229
+
230
+
231
+ video_path = "/---/sample.mp4"
232
+
233
+ segment = pydub.AudioSegment.from_file(video_path)
234
+
235
+ samples = numpy.array(segment.get_array_of_samples().tolist(),dtype="int16").reshape(-1,segment.channels)
236
+
237
+ sounddevice.play(samples, segment.frame_rate)
238
+
239
+ time.sleep(30)
240
+
241
+ ```
242
+
243
+
244
+
245
+ ここまで試した時点でかなり時間がたってしまい、締め切りも迫っていることから根本的な解決を諦め、違う方法をとることにしました。もともと動画ファイルの音声を再生することが目的であったため、subprocessでffmpegを実行し、waveファイルを作成してsinmpleaudioで再生することで実装しました。解答していただいた方には申し訳ないのですが、また時間のある時にこの問題の解決に取り組みたいと思います。

4

リンクの修正

2020/12/09 02:20

投稿

tomtakeru
tomtakeru

スコア4

test CHANGED
File without changes
test CHANGED
@@ -32,9 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- https://github.com/jiaaro/pydub
35
+ [PudubのGitHub](https://github.com/jiaaro/pydub)
36
-
37
-
38
36
 
39
37
  pydubをgitで確認すると、以下のような記述がありました。
40
38
 

3

表示の細かい変更

2020/12/07 05:02

投稿

tomtakeru
tomtakeru

スコア4

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,9 @@
32
32
 
33
33
 
34
34
 
35
- <a href="https://github.com/jiaaro/pydub">pydubのGitHub</a>
35
+ https://github.com/jiaaro/pydub
36
+
37
+
36
38
 
37
39
  pydubをgitで確認すると、以下のような記述がありました。
38
40
 

2

表示の細かい変更

2020/12/07 05:00

投稿

tomtakeru
tomtakeru

スコア4

test CHANGED
File without changes
test CHANGED
@@ -136,8 +136,6 @@
136
136
 
137
137
  ```
138
138
 
139
- <br>
140
-
141
139
 
142
140
 
143
141
  ## 試したこと②

1

引用の部分のMarkdownが機能していなかったので消しました。

2020/12/06 07:20

投稿

tomtakeru
tomtakeru

スコア4

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- >### pydub/audio_segment.py
43
+ ### pydub/audio_segment.py
44
44
 
45
45
  ```
46
46
 
@@ -54,9 +54,7 @@
54
54
 
55
55
  ```
56
56
 
57
- >### pydub/utils.py
57
+ ### pydub/utils.py
58
-
59
-
60
58
 
61
59
  ```
62
60
 
@@ -108,7 +106,7 @@
108
106
 
109
107
  また、pydub/audio_segment.pyのAudioSegmentクラス内に次のようなメソッドがありましたが、使い方がわかりませんでした。
110
108
 
111
- >### pydub/audio_segment.py
109
+ ### pydub/audio_segment.py
112
110
 
113
111
  ```
114
112