回答編集履歴

1

コードを編集

2017/04/29 08:29

投稿

KSwordOfHaste
KSwordOfHaste

スコア18392

test CHANGED
@@ -6,18 +6,40 @@
6
6
 
7
7
 
8
8
 
9
- 上記を参考に、一旦サーバー上の一時ファイルへWAVファイルを格納できたら、その後以下のようにしてwaveオブジェクトを生成し、フレームレートやフレーム数を取り出
9
+ 上記を参考に、一旦サーバー上の一時ファイルへWAVファイルを格納、その後waveオブジェクトを生成し、フレームレートやフレーム数を取り出すといった部分のみコードを書いてみした
10
10
 
11
11
 
12
12
 
13
13
  ```python
14
14
 
15
- //一旦サーバーの'/tmp/tmp0000.wav'にセーブしたとする
15
+ ...
16
16
 
17
+ waveFile = form['file']
18
+
19
+ # save file
20
+
21
+ fout = file("tmp/tmp0000.wav", "wb")
22
+
23
+ while True:
24
+
25
+ chunk = waveFile.file.read(1024 * 1024 * 10)
26
+
27
+ if not chunk:
28
+
29
+ break
30
+
31
+ fout.write(chunk)
32
+
33
+ fout.close()
34
+
35
+ //これでサーバーの'tmp/tmp0000.wav'にWAVファイルができている
36
+
17
- wf = wave.open('/tmp/tmp0000.wav')
37
+ wf = wave.open('tmp/tmp0000.wav')
18
38
 
19
39
  length = float(wf.getnframes()) / wf.getframerate() # 波形長さ(秒
20
40
 
21
41
  ...
22
42
 
23
43
  ```
44
+
45
+ 上記はformにfileが指定されていなかった場合のエラーチェックなどは省略しています。CGIをテストできる環境がないため間違いなどありましたらご容赦ください。