回答編集履歴

6

オプション指定の間違いを修正

2021/02/05 02:06

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -150,7 +150,7 @@
150
150
 
151
151
  ```
152
152
 
153
- <%= audio_tag url_for(tweet.audio) controls: true %>
153
+ <%= audio_tag url_for(tweet.audio), controls: true %>
154
154
 
155
155
  ```
156
156
 

5

audio_tagのオプションを記載

2021/02/05 02:06

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -137,3 +137,23 @@
137
137
  ActiveStorage::Service.url_expires_in = 1.hour
138
138
 
139
139
  ```
140
+
141
+ -------------------------
142
+
143
+
144
+
145
+ 単にコントロール表示してないだけだったのかな?
146
+
147
+ んじゃこちらでも動くと思います。
148
+
149
+
150
+
151
+ ```
152
+
153
+ <%= audio_tag url_for(tweet.audio) controls: true %>
154
+
155
+ ```
156
+
157
+
158
+
159
+ 他に `autoplay` などのオプションもあります。

4

別解をさらに追加

2021/02/05 02:05

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -95,3 +95,45 @@
95
95
 
96
96
 
97
97
  手元で試せないので手探りですいません
98
+
99
+
100
+
101
+ --------------------------
102
+
103
+
104
+
105
+ `audio_tag` を使わずに試すとどうでしょうか。
106
+
107
+
108
+
109
+ ```
110
+
111
+ <audio src="<%= url_for(tweet.audio) %>" controls>
112
+
113
+
114
+
115
+ or
116
+
117
+
118
+
119
+ <audio src="<%= rails_blob_url(tweet.audio) %>" controls>
120
+
121
+
122
+
123
+ ```
124
+
125
+
126
+
127
+ ちなみに、ActiveStorage の有効期限はデフォルトで5分なので、ページを表示してすぐじゃないと再生できないと思います。
128
+
129
+ とりあえず有効期限を伸ばす場合は以下のコードを追加します。
130
+
131
+
132
+
133
+ ```
134
+
135
+ # config/initializers/active_storage.rb
136
+
137
+ ActiveStorage::Service.url_expires_in = 1.hour
138
+
139
+ ```

3

別解を追加

2021/02/05 01:55

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -75,3 +75,23 @@
75
75
 
76
76
 
77
77
  ではどうでしょうか。
78
+
79
+
80
+
81
+ --------------------------
82
+
83
+
84
+
85
+ もしくはこちらかな?
86
+
87
+
88
+
89
+ ```
90
+
91
+ <%= audio_tag rails_blob_url(tweet.audio) %>
92
+
93
+ ```
94
+
95
+
96
+
97
+ 手元で試せないので手探りですいません

2

別の解決策を追加

2021/02/05 01:45

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -45,3 +45,33 @@
45
45
 
46
46
 
47
47
  に変えてみて、記載される結果を教えてください。
48
+
49
+
50
+
51
+ -------------------------
52
+
53
+
54
+
55
+ `audio_tag` って使ったことないけど `image_tag` と同じノリでは使えないのかな?
56
+
57
+
58
+
59
+ ```
60
+
61
+
62
+
63
+ <%= audio_tag tweet.audio %>
64
+
65
+
66
+
67
+  ↓
68
+
69
+
70
+
71
+ <%= audio_tag url_for(tweet.audio) %>
72
+
73
+ ```
74
+
75
+
76
+
77
+ ではどうでしょうか。

1

原因特定のためのコードを追加

2021/02/05 01:33

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -25,3 +25,23 @@
25
25
 
26
26
 
27
27
  これで収束しないようでしたらまた教えてください。
28
+
29
+
30
+
31
+ -------------------------
32
+
33
+
34
+
35
+ 収束しませんでしたか。残念。
36
+
37
+
38
+
39
+ <%= audio_tag tweet.audio %>
40
+
41
+
42
+
43
+ <%= tweet.audio.inspect %>
44
+
45
+
46
+
47
+ に変えてみて、記載される結果を教えてください。