vishal-h
Audio streaming gives an error while using Elixir Req
There’s a python/fastapi service that streams audio files. I don’t have access to the code of this service.
This works fine and the audio can be played.
<audio controls src="some/audio/url">
Your browser does not support the <code>audio</code> element.
</audio>
This one doesn’t
Mix.install([
{:req, "~> 0.4.0"}
])
url = "some/audio/url"
Req.get!(url, into: IO.stream())
|> Stream.each(&IO.inspect/1)
|> Stream.run()
The following error is thrown
** (ArgumentError) errors were found at the given arguments:
* 2nd argument: not valid character data (an iodata term)
(stdlib 4.0.1) io.erl:99: :io.put_chars(:standard_io, <<0, 0, 0, 24, 102, ...>>)
(req 0.4.5) lib/req/steps.ex:760: anonymous fn/3 in Req.Steps.finch_stream_into_collectable/5
(finch 0.16.0) lib/finch/http1/conn.ex:231: Finch.Conn.receive_response/8
(finch 0.16.0) lib/finch/http1/conn.ex:120: Finch.Conn.request/6
(finch 0.16.0) lib/finch/http1/pool.ex:45: anonymous fn/8 in Finch.HTTP1.Pool.request/5
(nimble_pool 1.0.0) lib/nimble_pool.ex:349: NimblePool.checkout!/4
(finch 0.16.0) lib/finch/http1/pool.ex:38: Finch.HTTP1.Pool.request/5
What am I missing?
Marked As Solved
al2o3cr
By default, IO.stream is expecting to read and write UTF8-shaped byte sequences.
Raw audio data is definitely not that.
You likely want IO.binstream, though connecting that to an already-open stdio may need additional code.
2
Popular in Questions
Background
Let’s assume I have a typical GenServer that receives messages as requests, does some operation in a DB and returns responses....
New
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
After calling mix ecto.create I get this error:
17:00:32.162 [error] GenServer #PID<0.412.0> terminating
** (Postgrex.Error) FATAL...
New
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]
15:22:35.803 [error] gen_event {lager_file_backend...
New
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
Hello all!
I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
Hello!
Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
I tried installing
elixir 1.11.2
erlang 23.3.4
via asdf in my zsh shell. Enabled the versions locally and globally.
When I list them ...
New
Mix format works fine if run from the cmd. I’ve followed this to facilitate the implementation into VSC which involves downloading an ext...
New
I’ve been re-reading swift book again and noticed that multiline strings there don’t have a trailing line break, unlike in elixir
iex(2)...
New
Other popular topics
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
Hi! May someone helps me, please!
I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]
15:22:35.803 [error] gen_event {lager_file_backend...
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set?
Thanks.
New
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
I have an umbrella app.
Some of the apps inside depend on other apps in the umbrella, unsurprisingly.
I'm writing a test for one of t...
New








